动态选择要复制到Excel Macro中另一张纸的列数



所以我在Excel文件中有2张纸,我试图将一些列(例如5)复制到第二张纸。我怎么做?这是我的VBA代码

Sub button_click()
   Set i = Sheets("Sheet1")
   Set e = Sheets("Sheet2")
   Dim d
   Dim j
   d = 1
   j = 13
   Do Until IsEmpty(i.Range("K" & j))
   If i.Range("K" & j) = "Y" Then
   d = d + 1
   e.Rows(d).Value = i.Rows(j).Value
   End If
   j = j + 1
   Loop
End Sub

所以这现在可以正常工作,但是我唯一需要更改的是,大约有10列,但我只希望前5列复制。如果我使用列除了i.rows(j)等行之外。Columns(5)。值仅复制1列。我不确定如何复制所需的所有列。

使用建议的方法,您可以将列的范围指定为.Columns("A:E") SO:

e.Rows(d).Columns("A:E").Value = i.Rows(j).Columns("A:E").Value

相关内容

最新更新