VBA虽然循环Excel宏
问题描述:
我想创建一个宏,当点击一个名为“运行公式”的按钮时,它复制从I12开始的特定块单元格,然后向下移动28行并粘贴公式从I40中的细胞块。然后循环做150次。 注意:我通过录制宏并复制并粘贴150次来完成这项工作,但我想编辑代码变得更简单。 我从来没有使用VBA之前,但是这是我到目前为止有:VBA虽然循环Excel宏
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
答
使用一个for循环可以节省一些打字。
而且避免使用.Select
或.Activate
而且进入的父片总是分配给任何范围或细胞对象的习惯。
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
你得到了什么错误?请参见[如何创建最小,完整和可验证的示例](https://*.com/help/mcve)。 – jmoon
您发布的代码不会完成您所描述的内容。循环除了增加一个变量('Row')之外什么都不做。它在增加后不会对该变量做任何事情。为了完成任何事情,它必须以某种方式影响细胞。甚至没有任何努力去处理你所复制的单元格。 –
请详细描述您希望完成的最终结果 – jsotola