2013-03-08 116 views
2

大家能帮帮我吗?数据总是列A,表1,我想复制并粘贴到sheet2上的空柱。在第一次数据进入colunm A页2和第二次(我放在sheet1栏A上的其他数据)colunm B sheet 2等等。我发现了这个代码,但把数据放在列A,Sheet2上。vba excel 2010将数据复制到另一个空列表

Sub Insert_Data() 

Sheets("Tratamento").Range("A1").Copy Destination:=Sheets("Dados").Range("A1") 
For i = 2 To Sheets("Tratamento").Cells(Rows.Count, 1).End(xlUp).Row 
Sheets("Tratamento").Range("A" & i).Copy Destination:=Sheets("Dados").Range("A" & Sheets("Dados").Cells(Rows.Count, 1).End(xlUp).Row + 1) 
Next i 

End Sub 

回答

1

下面的命令应该做的工作:

Select Case Sheets("Dados").Range("A1") = "" 

Case True 'paste in col A if A1 is empty 

    Sheets("Tratamento").Range("A:A").Copy Sheets("Dados").Range("A1") 

Case False ' paste to next col 

    Sheets("Tratamento").Range("A:A").Copy Sheets("Dados").Range("XFD1").End(xlToLeft).Offset(0, 1) 

这是什么东西做的是在第二片月底开始,选择列,其中值的最后一列的右侧。这是假设您不会跳过任何列,并且您在页面上没有其他数据。

+0

正是我想要的。非常感谢你。 – 2013-03-08 22:15:37

0

这个怎么样?

Sub Insert_Data() 

Sheets("Tratamento").Range("A1").Copy Destination:=Sheets("Dados").Range("A1") 
For I = 2 To Sheets("Tratamento").Cells(Rows.Count, 1).End(xlUp).Row 

' Made change on this line 
Sheets("Tratamento").Range("A" & I).Copy Destination:=Sheets("Dados").Range("A" & I) 

Next I 

End Sub 

还是这太简化了?也许我不明白你的问题?

+0

嗨,它不工作。尝试解释:如果第2页上的colunm A已经有数据,则复制到colunm B,如果colunms A和B有数据,然后复制colunm C。我不知道如何验证colunm A,B,C是否为空来接收值。 – 2013-03-08 21:21:12

相关问题