snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Sub copy()
Dim i As Long
Dim lastRow As Long
lastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lastRow
If Sheets("Order").Cells(i, 6).Value = "ReOrder" Then
Range((Cells(i, 1)), (Cells(i, 3))).Select
Selection.copy
Sheets("Purchase").Select
Cells("A6").Select
Selection.Paste
Sub copy()
Dim i As Long
Dim lastRow As Long
Dim r As Range
lastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lastRow
If Sheets("Order").Cells(i, 6).Value = "ReOrder" Then
Set r = Union(Cells(i, 1), Cells(i, 3))
r.copy
Sheets("Purchase").Select
Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Order").Select
End If
Next i
Application.CutCopyMode = False
End Sub
Sub Order()
Dim i As Long
Dim lastRow As Long
lastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lastRow
If Cells(i, 4).Value <= Cells(i, 5).Value Then
Cells(i, 6).Value = "ReOrder"
Else
Cells(i, 6).Value = ""
End If
Next i
End Sub
Sub copy()
Dim i As Long
Dim lastRow As Long
Dim r As Range
lastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lastRow
If Sheets("Order").Cells(i, 6).Value = "ReOrder" Then
Set r = Union(Cells(i, 1), Cells(i, 3))
r.copy
Sheets("Purchase").Select
Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Sheets("Order").Select
End If
Next i
Application.CutCopyMode = False
End Sub