Excel 从多个列复制到另一列
我有以下问题: 600列,包含25行数据 我需要将数据从第2列复制到第600列,并将它们放在第1列内容的末尾 任何关于我如何做到这一点的信息都将不胜感激 以下是我目前使用的代码:Excel 从多个列复制到另一列,excel,vba,Excel,Vba,我有以下问题: 600列,包含25行数据 我需要将数据从第2列复制到第600列,并将它们放在第1列内容的末尾 任何关于我如何做到这一点的信息都将不胜感激 以下是我目前使用的代码: Sub test() Dim rng1 As Range Dim rng2 As Range Dim cl As Range Dim r As Long Set rng1 = Range("A1", Range("A1048576").End(xlUp)) Set rng2 = R
Sub test()
Dim rng1 As Range
Dim rng2 As Range
Dim cl As Range
Dim r As Long
Set rng1 = Range("A1", Range("A1048576").End(xlUp))
Set rng2 = Range("B1", Range("B1048576").End(xlUp))
r = rng1.Rows.Count + 1
For Each cl In rng2
Cells(r, 1).Value = cl.Value
r = r + 1
Next
End Sub
Sub Test()
Dim ws as WorkSheet
Dim C1_lrow, C2_lrow, lcolumn, i as Long
Dim rng as Range
Set ws = Thisworkbook.Sheets("Sheet1") 'change this to what you have
With ws
C2_lrow = .Range("B" & .Rows.Count).End(xlup).Row
lcolumn = .Cells(1, .Columns.Count).End(xlToLeft).Column
Set rng = .Range("B1:B" & C2_lrow)
End With
For i = 0 to lcolumn - 1
C1_lrow = ws.Range("A" & Rows.Count).End(xlup).Row
rng.Offset(0, i).copy ws.Range("A" & C1_lrow + 1)
Next i
End Sub
问题是它只复制
B
列,而不复制其他列(例如C、D、E等)。我不会仅在Excel中解决这个问题
如果您需要自动完成此操作,则需要一个脚本。我想您需要的是: 测试:
Sub test()
Dim rng1 As Range
Dim rng2 As Range
Dim cl As Range
Dim r As Long
Set rng1 = Range("A1", Range("A1048576").End(xlUp))
Set rng2 = Range("B1", Range("B1048576").End(xlUp))
r = rng1.Rows.Count + 1
For Each cl In rng2
Cells(r, 1).Value = cl.Value
r = r + 1
Next
End Sub
Sub Test()
Dim ws as WorkSheet
Dim C1_lrow, C2_lrow, lcolumn, i as Long
Dim rng as Range
Set ws = Thisworkbook.Sheets("Sheet1") 'change this to what you have
With ws
C2_lrow = .Range("B" & .Rows.Count).End(xlup).Row
lcolumn = .Cells(1, .Columns.Count).End(xlToLeft).Column
Set rng = .Range("B1:B" & C2_lrow)
End With
For i = 0 to lcolumn - 1
C1_lrow = ws.Range("A" & Rows.Count).End(xlup).Row
rng.Offset(0, i).copy ws.Range("A" & C1_lrow + 1)
Next i
End Sub
如果它对你有用,就试试。嗨,如果你能把你尝试过的东西和你遇到的困难都写进去,那就太好了。如果您在尝试中遇到错误,请清楚地说明。我是脚本编写的新手。我一直试图解决这个问题,直到我在这个网站上找到了如下解决方案:Sub test()Dim rng1 as Range Dim rng2 as Range Dim cl as Range Dim cl as Range Dim r as Long Set rng1=Range(“A1”,Range(“A104576”).End(xlUp))Set rng2=Range(“B1”,Range(“B1048576”).End(xlUp))r=rng1.Rows.Count+1对于rng2单元格中的每个cl(r,1).Value=cl.Value r=r+1下一个端点子脚本的问题是它只复制B列,而不复制其他列(c.d、e等)。这在同一张表上?将所有列复制到column1是什么意思?连接数据还是只复制整行?如果是后者,请参阅我的帖子。可能我需要澄清我的问题。我的excel表格的内容如下:A1..A25;B2..B25,C2..C25,D2..D25,。。。。我要复制B2..B25并将其粘贴到A26,..A50,复制C2..C25并粘贴到A51..A75等。我需要一个脚本。您的解决方案非常完美,完全符合我的要求。如果您首先必须将数据从行排列到列(转置),然后复制第二个,要连接或附加到第一列的第三列etc?