สวัสดีครับ
ถามต่ออีกสักนิดหนึ่ง
อย่างที่เรียนอาจารย์ว่าจำนวนข้อมูลมีจำนวนที่ไม่แน่นอน
เวลาผมกำหนดช่วงข้อมูลที่ไม่ทราบจำนวนที่แน่ชัด
ต้องกำนดเช่น Sheet2.Rang("A:AA") ซึ่งมันทำให้ช้า
มีความคิดในลักษณะนี้ได้ไหมครับ
1.พอเรานำเข้าข้อมูลมา ก็กำหนดสักที่หนึ่งเช่น AC1ให้
=COUNTA(A:A)-1 'ลบหัวแถว ซึ่งทำให้เราทราบจำนวนข้อมูล
Code: Select all
Sub a
Dim r As interger
Dim n As interger
With Worksheets("Sheet2")
.Activate
r = 2
n = Sheet2.Range("AC1").value
Do Until Sheet10.Cells(r, 1).Value = ""
Sheet10.Cells(r, 6).Formula = "=VLOOKUP(" & Sheet10.Cells(r, 1).Address & ",FileB!A1:T(n),3,0)"
Sheet10.Cells(r, 7).Formula = "=VLOOKUP(" & Sheet10.Cells(r, 6).Address & ",FileA!A1:G(n),5,0)"
Sheet10.Cells(r, 8).Formula = "=VLOOKUP(" & Sheet10.Cells(r, 6) & ",FileA!A1:G(n),7,0)"
Sheet10.Cells(r, 9).Formula = "=VLOOKUP(" & Sheet10.Cells(r, 1) & ",FileB!A1:T(n),17,0)"
Sheet10.Cells(r, 23).Formula = "=VLOOKUP(" & Sheet10.Cells(r, 6) & ",FileA1!A1:G(n),3,0)"
TextBox7.Value = Sheet10.Range("P1").Value
DoEvents
r = r + 1
LoopEnd With
End Sub
Code: Select all
"=VLOOKUP(" & Sheet10.Cells(r, 1).Address & ",FileB!A1:T(n),3,0)"
มีลักษณะวิธีใช้อย่างนี้ไหมครับ
ถ้ามีแนะนำหน่อยนะครับ ระบบจะได้เร็วขึ้นสักนิด
