2

大家可以帮帮我吗?数据始终是 A 列,工作表 1,我想复制并粘贴到工作表 2 上的空列。第一次数据进入 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
4

2 回答 2

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) 

这是做什么从第二张表的末尾开始,并选择具有值的最后一列右侧的列。这是假设您不会跳过任何列并且页面上没有其他数据。

于 2013-03-08T21:18:16.023 回答
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

还是这太简化了?可能我没看懂你的问题?

于 2013-03-08T21:06:37.290 回答