您好我想将工作表的所有列复制到另一个工作表下面的另一个工作表中。
Sheet A
Column A B C ....................BL
ValueA ValueB ValueC..................ValueBL
ValueA2 ValueB2 ValueC2.................ValueBL2
. . . .
. . . .
ValueA10 ValueB10 ValueC10...............ValueBL10
Target Sheet
Value A
.
.
Value A10
Value B
.
.
Value B10
Value C
.
.
Value C10
等等。基本上每列都有多个值(行),并且有数百列。我想将所有列复制到另一列之下。这将需要一个循环,但我不明白如何使用它。因为
set ws1 As SheetA
set ws2 As Target
With ws1
LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
End With
Lastrow = period.Range("B" & Rows.Count).End(xlUp).Row
For i=1 to Lastcol
ws1.Range("?" & lastrow).copy ws2.Range("a65536").End(xlUP).Offset(1,0)
Next i
我没有得到什么而不是"?"。感谢任何帮助。感谢。
编辑:
set ws1 As SheetA
set ws2 As Target
With ws1
LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
End With
Lastrow = ws1.Range("B" & Rows.Count).End(xlUp).Row
For i = 1 To Lastcol
For l = 4 To lastrow
ws1.Cells(l, i).Copy ws2.Range("a65536").End(xlUp).Offset(1, 0)
Next l
Next i
我的数据从第4行开始,这就是我从4开始的原因
答案 0 :(得分:0)
在我看来,你需要两个FOR循环...一个循环遍历列然后循环行。另外,我会使用" Cells"与"范围"在这种情况下,并使用循环中的列号。还有查找第一行和最后一行和列的方法,但你没有问过这个......
Sub test()
Set ws1 = Sheets(1)
Set ws2 = Sheets(2)
Lastcol = 5
lastrow = 10
For i = 1 To Lastcol
For l = 1 To lastrow
ws1.Cells(l, i).Copy ws2.Range("a65536").End(xlUp).Offset(1, 0)
Next l
Next i
End Sub