基本上我有以下scenareo:Excel中 - 复制从一个小区到另一个文本而不删除原始内容
2列,600行数据。
我需要复制第2列中的数据,并将其放在第1列中内容的结尾处,以显示相同的行。这将导致第1列有其原始内容加上第2列的额外内容。
任何有关我如何做到这一点的信息将不胜感激。
在此先感谢!
基本上我有以下scenareo:Excel中 - 复制从一个小区到另一个文本而不删除原始内容
2列,600行数据。
我需要复制第2列中的数据,并将其放在第1列中内容的结尾处,以显示相同的行。这将导致第1列有其原始内容加上第2列的额外内容。
任何有关我如何做到这一点的信息将不胜感激。
在此先感谢!
作为这个问题收到的若干意见(10,000+)我认为也共享另一个很重要的,更简单的解决方案:
在小区C1使用以下公式:
=(A1 & B1)
这会将单元格A1和B1的内容复制到单元格C1中。将公式拖到所有其他行(在我的案例中为行600)。
然后复制该列并使用“仅限值”进行粘贴。
然后,您将在列C中包含单元格中列A和列B的内容的单元格。
这是一个简单的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
或其他任何可以帮助的。
作品。谢谢你的帮助! – bs3ac 2013-04-08 18:45:17
这应该从第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
的底部,只要保持它的简单。这是代码。
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
不清楚你的意思是“对于相同的行”。 – Richard 2013-04-08 18:29:33
另外,您的新专栏1将有600行或1200行吗? – Richard 2013-04-08 18:37:58
http://stackoverflow.com/questions/31076232/add-data-to-end-or-beginning-of-excel-cell-macro看到我在那里发布的解决方案。 – DeerSpotter 2015-06-26 16:46:19