VBA做循环Excel宏

时间:2017-08-08 23:50:17

标签: excel vba excel-vba loops paste

我正在尝试创建一个宏,当单击名为“运行公式”的按钮时,它会复制从I12开始的特定单元格块,然后向下移动28行并粘贴I40中单元格块中的公式。然后循环执行此操作150次。 注意:我确实通过录制宏并复制和粘贴150次来完成这项工作,但我想编辑代码更简单。 我之前从未使用过VBA,但这是我到目前为止所做的:

    Sub Button6_Click()
    Button6_Click Macro
    Range("I12:AG22").Select
    Selection.Copy
    Dim i As Integer
    i = 0
    Do While i < 150
    Row 40 + i * 28
    i = i + 1
    Loop
    End Sub

1 个答案:

答案 0 :(得分:1)

使用for循环可以节省一些打字。

同时避免使用.Select.Activate

还养成了将父表单分配给任何Range或Cells对象的习惯。

Sub Button6_Click()
'Button6_Click Macro

Dim i As Long

With Worksheets("Sheet1") 'Change to the name of the sheet
    .Range("I12:AG22").Copy
    For i = 0 to 149
        .Cells(40 + i * 28,"I").PasteSpecial xlPasteFormulas
    Next i
End With
End Sub