用于复制单元格并将其粘贴到下一个单元格的宏代码

时间:2017-09-02 16:39:53

标签: vba excel-vba excel

尝试写一个宏来复制一个单元格并将其粘贴到接下来的三个单元格中。然后复制第五个单元格并将其粘贴到行中的第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

2 个答案:

答案 0 :(得分: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 :(得分: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   
相关问题