2013-04-08 66 views
0

基本上我有以下scenareo:Excel中 - 复制从一个小区到另一个文本而不删除原始内容

2列,600行数据。

我需要复制第2列中的数据,并将其放在第1列中内容的结尾处,以显示相同的行。这将导致第1列有其原始内容加上第2列的额外内容。

任何有关我如何做到这一点的信息将不胜感激。

在此先感谢!

+0

不清楚你的意思是“对于相同的行”。 – Richard 2013-04-08 18:29:33

+0

另外,您的新专栏1将有600行或1200行吗? – Richard 2013-04-08 18:37:58

+0

http://stackoverflow.com/questions/31076232/add-data-to-end-or-beginning-of-excel-cell-macro看到我在那里发布的解决方案。 – DeerSpotter 2015-06-26 16:46:19

回答

0

作为这个问题收到的若干意见(10,000+)我认为也共享另一个很重要的,更简单的解决方案:

在小区C1使用以下公式:

=(A1 & B1) 

这会将单元格A1和B1的内容复制到单元格C1中。将公式拖到所有其他行(在我的案例中为行600)。

然后复制该列并使用“仅限值”进行粘贴。

然后,您将在列C中包含单元格中列A和列B的内容的单元格。

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或其他任何可以帮助的。

+0

作品。谢谢你的帮助! – bs3ac 2013-04-08 18:45:17

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 
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 
相关问题