我有这个代码将任何订购的东西移动到另一张纸上它除了因为它跳过行而且我必须运行几次才能让所有东西都被移动,所以任何帮助都会非常感谢 感谢
Sub MoveLS()
Dim h As Variant
Dim endrow As Integer
Dim SB As Worksheet, ORDERED As Worksheet
Set SB = ActiveWorkbook.Sheets("SB")
Set ORDERED = ActiveWorkbook.Sheets("ORDERED")
endrow = SB.Range("A" & SB.Rows.Count).End(xlUp).Row
For h = 2 To endrow
If SB.Cells(h, "H").Value = "Ordered" Then
SB.Cells(h, "H").EntireRow.Cut Destination:=ORDERED.Range("A" & ORDERED.Rows.Count).End(xlUp).Offset(1)
SB.Cells(h, "H").EntireRow.Delete
End If
Next
End Sub
答案 0 :(得分:1)
当您遍历行时,您正在跳过某些行。
而是从下往上删除:
For h = endrow to 2 Step -1
If SB.Cells(h, "H").Value = "Ordered" Then
SB.Cells(h, "H").EntireRow.Cut Destination:=ORDERED.Range("A" & ORDERED.Rows.Count).End(xlUp).Offset(1)
SB.Cells(h, "H").EntireRow.Delete
End If
Next
答案 1 :(得分:0)
问题在于,每次切割一行时,您也会跳过下一行。
E.g。
尝试复制行而不是剪切它!