EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)Code: Select all
Sub Button2_Click()
Dim r As Long
If Sheets("ใบเสนอราคา").Range("d29").Value <> "" Then
MsgBox "ช่องบันทึกรายการสินค้าเต็ม"
Exit Sub
End If
With Sheets("ใบเสนอราคา")
For r = 1 To 1
.Range("d13").End(xlUp).Offset(1, 0).Value = Sheets("form").Range("O10")
.Range("b13").End(xlUp).Offset(1, 0).Value = Sheets("form").Range("a7")
.Range("g13").End(xlUp).Offset(1, 0).Value = Sheets("form").Range("f7")
.Range("h13").End(xlUp).Offset(1, 0).Value = Sheets("form").Range("p10")
.Range("i13").End(xlUp).Offset(1, 0).Value = Sheets("form").Range("h7")
Next r
For i = 1 To .Range("B13", .Range("B" & .Rows.Count) _
.End(xlUp).Offset(0, 0)).Rows.Count
.Range("a13").Cells(i).Value = i
Next i
End With
End Sub
Code: Select all
Dim r As Long, lstRow As Long
If Sheets("ใบเสนอราคา").Range("d28").Value <> "" Then
MsgBox "ช่องบันทึกรายการสินค้าเต็ม"
Exit Sub
End If
With Sheets("ใบเสนอราคา")
lstRow = .Range("d" & .Rows.Count).End(xlUp).Offset(1, 0).Row
.Range("d" & lstRow).Value = Sheets("form").Range("O10")
.Range("b" & lstRow).Value = Sheets("form").Range("a7")
.Range("g" & lstRow).Value = Sheets("form").Range("f7")
.Range("h" & lstRow).Value = Sheets("form").Range("p10")
.Range("i" & lstRow).Value = Sheets("form").Range("h7")
For i = 1 To .Range("B13", .Range("B" & .Rows.Count) _
.End(xlUp).Offset(0, 0)).Rows.Count
.Range("a13").Cells(i).Value = i
Next i
End With
เปลี่ยนจาก d เป็น b ดูครับkio2002 wrote: Wed Mar 27, 2019 7:53 pm เรียน อาจารย์ snasui
ผมได้นำ code ไปใช้กับแบบฟอร์มจริงของผมแล้วครับ
กดปุ่มบันทึกสินค้าแล้ว มันไปบันทึกเริ่มต้นที่แถว36 ตามที่ผมต้องการให้เริ่มที่แถว13 ครับ
รบกวนอาจารย์อีกครั้งครับ ผมได้แนบแบบฟอร์มใช้จริงมาให้แล้วครับ
Code: Select all
lstRow = .Range("b" & .Rows.Count).End(xlUp).Offset(1, 0).Row
ขอนำไปทดลองใช้ก่อนครับ หากติดขัดตรงไหนจะมาสอบถามใหม่puriwutpokin wrote: Wed Mar 27, 2019 8:13 pmเปลี่ยนจาก d เป็น b ดูครับkio2002 wrote: Wed Mar 27, 2019 7:53 pm เรียน อาจารย์ snasui
ผมได้นำ code ไปใช้กับแบบฟอร์มจริงของผมแล้วครับ
กดปุ่มบันทึกสินค้าแล้ว มันไปบันทึกเริ่มต้นที่แถว36 ตามที่ผมต้องการให้เริ่มที่แถว13 ครับ
รบกวนอาจารย์อีกครั้งครับ ผมได้แนบแบบฟอร์มใช้จริงมาให้แล้วครับCode: Select all
lstRow = .Range("b" & .Rows.Count).End(xlUp).Offset(1, 0).Row