vba excel 2010将数据复制到另一个空的列表中

大家能帮助我吗? 数据总是列A,表1,我想复制并粘贴到sheet2上的空柱。 在第一次把数据input到A页2和第二次(我放在Sheet1栏A上的其他数据)到B页2等等。 我发现这个代码,但只是在列A,Sheet2上的数据。

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 

以下命令应该完成这项工作:

 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) 

这是干什么的从第二张纸的末尾开始,然后用最后一列的右边select一列。 这是假设你不会跳过任何列,并且在页面上没有其他数据。

这个怎么样?

 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 

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