สวัสดีครับ
ผมได้ลองเขียน Code Macro ของ Excel ดูครับ
1.มีไฟล์ข้อมูลชื่อไฟล์ data อยากจะค้นหาเลขในคอลัม B โดยใช้เงื่อนที่กำหนดครับ เช่น >0
2.แล้วทำการ Copy ทั้งแถว มา Paste ไปยัง Sheet2 ของอีกไฟล์ ชื่อไฟล์ Book1 ครับ
แต่ลองเขียนแล้ว Loop ไม่หมุนครับ
นี่ Code ครับ
Code: Select all
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+r
'
Windows("data.xlsx").Activate
Dim i As Integer
For i = 1 To 1000
If Cells(i, 2).Value > 0 Then
Windows("data.xlsx").Activate
Rows(i).Select
Selection.Copy
Windows("Book1.xlsx").Activate
Worksheets("Sheet2").Activate
Rows(i).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
Next i
End Sub
จากลองทดสอบว่าใช้ Loop ถูกต้องไหม
โดยใช้ Code นี้ครับ
Code: Select all
Sub Macro1()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+r
'
Windows("data.xlsx").Activate
Dim i As Integer
Dim x As Integer
For i = 1 To 1000
If Cells(i, 2).Value > 0 Then
Windows("data.xlsx").Activate
Rows(i).Select
Selection.Copy
Windows("Book1.xlsx").Activate
Worksheets("Sheet2").Activate
x = i + 1
Rows(x).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
Next i
End Sub
ปรากฎว่า Copy + Paste ได้ครับ Loop หมุน
แต่แถวเคลื่อนเพิ่มมา 1 แถว ครับ
พอดีผมเป็นมือใหม่ เริ่มหัดเขียนcode ครับ
อยากจะรบกวนขอคำแนะนำด้วยครับ ว่าควรจะดัดแปลงแก้ไข Code ยังไงให้ Loop หมุนได้ แถวไม่เคลื่อน ครับ
ขอบคุณครับ