使用第一张纸作为变量,将完整的行从一个纸复制到另一张

  • 本文关键字:一张 一个 复制 变量 vba excel
  • 更新时间 :
  • 英文 :


我想从一个纸上复制行,然后在该逻辑循环内,从另一个符合从表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

相关内容

最新更新