【问题标题】:Macro code to copy a cell and paste it to the next 2 cells复制一个单元格并将其粘贴到接下来的 2 个单元格的宏代码
【发布时间】:2022-01-13 02:26:47
【问题描述】:

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

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    试试

    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
    

    【讨论】:

      【解决方案2】:

      在这里,每个循环之间有 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   
      

      【讨论】: