将第一张纸上的总行作为variables,将一张纸上的整行复制到另一张纸上

我想从一张纸上复制行,然后在这个逻辑循环中复制另一张纸上的行,使其与从纸张1复制的行中的值相匹配。然后对第一张纸的每一行重复此过程,使用布尔值来logging任何行都不匹配,并将这些行复制到第四个工作表。

但是,这是一段路。

最初我想从一张纸复制每一行到第二张纸。 这是我的代码,但它只复制第一行的信息,如果第一行是空的,它会停止。

这绝对是简单的,但我不明白。

Sub test() Dim sh As Worksheet Set sh = ThisWorkbook.Sheets("Sheet1") Dim k As Long k = sh.Range("A1", sh.Range("A1").End(xlDown)).Rows.Count If k = 1048576 Then k = 1 End If For i = 1 To sh.Range("A1", sh.Range("A1").End(xlDown)).Rows.Count Sheets("Sheet1").Rows(i).Copy Destination:= Sheets("Sheet3").Rows(i) Exit For Next i End Sub 

听起来就像你有一些空的行,因为.End(xlDown)将停在第一个空行。 这也听起来像你想迭代,直到最后一个可用的logging。 在这种情况下,通过从底部开始计算来改变你如何确定最后一行

sh.Range( “A1048576”)。完(xlUp).Rows.Count

只要删除Exit For ,它应该工作。

 Sub test() Dim sh As Worksheet Set sh = ThisWorkbook.Sheets("Sheet1") Dim k As Long k = sh.Range("A1", sh.Range("A1").End(xlDown)).Rows.Count If k = 1048576 Then k = 1 End If For i = 1 To sh.Range("A1", sh.Range("A1").End(xlDown)).Rows.Count Sheets("Sheet1").Rows(i).Copy Destination:=Sheets("Sheet3").Rows(i) Next i End Sub