我想从一个纸上复制行,然后在该逻辑循环内,从另一个符合从表1复制的行中匹配的行中的行中的行复制行,然后重复此过程。第一张纸,使用布尔值记录是否不匹配任何行,并将这些行复制到第四张纸。
但是,这是一定的。
最初,我想将每一行从一张纸复制到第二张纸。这是我的代码,但仅复制信息的第一行,如果第一行是空的,则停止。
这肯定会很简单,但我看不到。
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)以来,您会停在第一个空行。听起来您想迭代直到最后可用的记录。在这种情况下,通过从底部计数来更改您确定最后一行的方式
sh.range(" a1048576")。
只需删除 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