[英]How to loop for multiple columns in VBA
我有以下代码可以从一张纸上复制数据并将其粘贴到另一张纸上。 但是,我需要粘贴大约 100 列数据。 我如何让我的循环运行 100 次,这样我就不必将此代码复制 100 次?
谢谢
Sub Macro1()
Dim lastrow as long, erow as long
lastrow = Sheet4.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 to lastrow
Sheets4.cells(i,1).Copy
erow = Sheet7.Cells(Rows.Count, 1).End(xlUp).Offset(1,0).Row
Sheet4.Paste Sheet7.Cells(erow,1)
Sheet4.Cells(i,2).Copy
Sheet4.Paste Sheet7.Cells(erow,2)
你什么都不说,我不能再呆了……如果你不需要复制格式,试试下一个代码。 它将Sheet4
所有列从第二行开始复制到Shee77
的第一个空行。 它比您尝试的要快得多,使用数组并一次删除所有内容......
Sub Macro1_bis()
Dim arrSh4 As Variant, sh7Row As Long
arrSh4 = Sheet4.UsedRange.Offset(1).value
sh7Row = Sheet7.Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
Sheet7.Range("A" & sh7Row).Resize(UBound(arrSh4, 1), UBound(arrSh4, 2)).value = arrSh4
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.