[英]Copy paste loop vba - overwrites the current cell
如果要創建將從一張紙復制並粘貼到另一張紙的vba,我正在處理。
這是循環:
j = Archive.Range("A12", Archive.Range("A12").End(xlToRight).Columns.Count --> count of sheet 2
(參考表1:如果第15行中的任何列為1,則它將復制到存檔中)
For i = k to 2 Step -1
If Reference.Cells(15, i). Value = 1 Then Reference.Columns(i).Copy
Archive.Cells(1, 1 + j).PasteSpecial
End If
Next i
宏在工作,但是循環上的問題是它僅復制並粘貼到下一個可用單元格上,如果單元格15中的另一個記錄等於1,則不會繼續到下一個單元格。我希望它連續復制並粘貼數據到下一個可用列。
您需要在循環內更新j
。
例如,如果j
最初等於15,則對於循環的每次迭代, 1 + j
將等於16。 1 + j
從不改變的值j
。
請嘗試:
If Reference.Cells(15, i). Value = 1 Then
j = j + 1 ' update j
Reference.Columns(i).Copy
Archive.Cells(1, j).PasteSpecial
End If
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.