簡體   English   中英

復制粘貼循環vba-覆蓋當前單元格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM