2013-03-08 138 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

相關問題