2017-09-02 197 views
3

尝试写入宏以复制单元格并将其粘贴到接下来的三个单元格中。然后复制第五个单元格并将其粘贴到第6,7和8号行中的单元格。我需要以这种方式复制粘贴的行中有很多数据。到目前为止,我有这样的事情。复制单元格并将其粘贴到下一个单元格的宏代码

Sub copycell() 
    for i= 1 to 1000 

    Cells(1, i).Select 
    Selection.copy 
    Cells(1,i+1).Select 
    Selection.Paste  
    end if 
    End sub 
    next i 

回答

3

尝试

Sub copycell() 
    For i = 1 To 1000 Step 4 
     Cells(1, i).Copy 
     Range(Cells(1, i + 1), Cells(1, i + 3)).PasteSpecial 
    Next i 
End Sub 

或简单地

Sub copycell() 
    For i = 1 To 100 Step 4 
     Range(Cells(1, i + 1), Cells(1, i + 3)).Value = Cells(1, i).Value 
    Next i 
End Sub 

Step关键字用来指定为一个循环的计数器变量不同的增量。 Step更改用于增加计数器的值。在这种情况下,i将通过4即从1 to 5递增然后9然后13等等...

上面的代码将对面的右侧连续复制单元格。
如果你想在一列中复制单元格,那么你可以使用下面的代码。

Sub copycell() 
    For i = 1 To 100 Step 4 
     Range(Cells(i + 1, 1), Cells(i + 3, 1)) = Cells(i, 1) 
    Next i 
End Sub 
1

这,为了从第一小区移动到第五单元中的每个循环之间的4个步骤。

Sub copycell() 
for i= 1 to 1000 step 4 
Cells(1,i+1) = Cells(1, i) 
Cells(1,i+2) = Cells(1, i) 
Cells(1,i+3) = Cells(1, i)  
next i 
End sub 
相关问题