我正在尝试创建一个宏,当单击名为“运行公式”的按钮时,它会复制从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
答案 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