คัดลอกและวางถัดไปในคอลัมน์ที่ว่างโดยใช้ VBA
Posted: Tue Jan 17, 2017 1:44 pm
ในแต่ละครั้งจะต้องคัดลอกข้อมูล Book1 ลงใน Book2 ตามจำนวนครั้งที่ 1 , 2 ,...,N ครั้งที่ N ใดๆ
ปัญหาจึงมีว่า คัดลอก column B ใน Workbooks("Book1.xlsm").Worksheets("Sheet1")
ไปวางไว้ใน Workbooks("Book2.xlsm").Worksheets("Sheet2") ตาม column B , C , E , F ,...N
เมื่อ คัดลอกครั้งที่ 1 ลงใน column B ครั้งที่ 1 , column E ครั้งที่ 1 และพอในครั้งต่อไป คัดลอก ลงใน column C ครั้งที่ 2 , column F ครั้งที่ 2 ถัดไปเรื่อยๆจนครบครั้งที่ N
รายการใน Book1 ไป Book2 ทำเดือนละครั้ง
จะปรับ code VBA อย่างไรได้บ้างครับ
Code: Select all
Sub UpdateW1()
Dim w1 As Worksheet, w2 As Worksheet
Dim a, c As Range, FR As Long
Application.ScreenUpdating = False
Set w1 = Workbooks("Book1.xlsm").Worksheets("Sheet1")
Set w2 = Workbooks("Book2.xlsm").Worksheets("Sheet2")
For Each a In w2.Range("A2", w2.Range("A" & Rows.Count).End(xlUp))
FR = 0
On Error Resume Next
FR = Application.Match(a, w1.Columns(1), 0)
On Error GoTo 0
If FR <> 0 Then a.Offset(, 1).Value = w1.Cells(FR, 2).Value
For Each c In w2.Range("D2", w2.Range("D" & Rows.Count).End(xlUp))
FR = 0
On Error Resume Next
FR = Application.Match(c, w1.Columns(1), 0)
On Error GoTo 0
If FR <> 0 Then c.Offset(, 1).Value = w1.Cells(FR, 2).Value
Next c
Next a
Application.ScreenUpdating = True
End Sub