基本上我有以下场景:
2列,包含600行数据。
我需要复制第2列中的数据,并将其放在column1中内容的末尾,以用于相同的行。这将导致第1列具有其原始内容加上第2列的附加内容。
我将非常感谢有关如何做到这一点的任何信息。
提前致谢!
答案 0 :(得分:0)
这是一个简单形式的VBA。只需创建一个宏,将这些行添加到它。然后选择原始列(您要调用的是第1列),然后运行宏。
a = ActiveCell.Value
b = ActiveCell(1, 2).Value
ActiveCell.Value = a + b
括号内的单元格引用是一个相对的声明 - 1,2表示“相同的行,右边的一列”,因此您可以根据需要更改它。你可以通过扩展来使它循环:
Do
a = ActiveCell.Value
b = ActiveCell(1, 2).Value
ActiveCell.Value = a + b
ActiveCell.Offset(1, 0).Select
If ActiveCell.Value = "" Then
Exit Do
End If
Loop
该循环将继续,直到找到一个空白单元格,然后它将停止。因此,请确保您要停止的空白单元格。您还可以在组合的行中添加额外的字符..所以在上面的示例中它是ActiveCell.Value = a + b
,但您可以将其设为ActiveCell.Value = a + " - " + b
或其他任何可能有用的内容。
答案 1 :(得分:0)
这应该取第2列中的值并将它们按顺序放在第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 = 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
答案 2 :(得分:0)
保持简单。这是代码。
Sub copyCol()
Dim lastRow As Long
lastRow = Range("A65000").End(xlUp).Row
Range("B1:B" & lasrow).Copy Range("A" & lastRow).Offset(1, 0)
End Sub
答案 3 :(得分:0)
由于这个问题收到了很多观点(10,000多个),我认为分享另一个更简单的解决方案很重要:
在单元格C1中使用公式:
=(A1 & B1)
这会将单元格A1和B1的内容复制到单元格C1中。将公式拖到所有其他行(在我的情况下为第600行)。
然后复制列并使用“仅限值”进行粘贴。
然后,您将在C列中的单元格中包含单行单元格中A列和B列的内容。