复制粘贴循环vba-覆盖当前单元格

时间:2019-09-14 16:36:15

标签: excel vba excel-2016

如果要创建将从一张纸复制并粘贴到另一张纸的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,则不会继续到下一个单元格。我希望它连续复制将数据粘贴到下一个可用列。

1 个答案:

答案 0 :(得分:0)

您需要在循环内更新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