Excel公式自动重算VBA代码
时间: 2023-11-15 20:06:14 浏览: 71
Sub AutoCalculate()
Application.Calculate
End Sub
或者:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target.Worksheet.Calculate
Application.EnableEvents = True
End Sub
相关问题
vba 如何公式改变自动运行代码
VBA中可以使用Worksheet_Calculate事件来在公式计算后自动运行代码。当公式计算后,会自动触发Worksheet_Calculate事件。
以下是一个使用Worksheet_Calculate事件的示例:
1. 打开VBA编辑器(按下ALT+F11)。
2. 在“项目资源管理器”窗格中选择要在其中添加代码的工作簿。
3. 在“项目资源管理器”中展开该工作簿,然后双击要在其中添加代码的工作表。
4. 在“代码”窗格中选择工作表对象的“Worksheet”和“Calculate”事件:
```
Private Sub Worksheet_Calculate()
'your code goes here
End Sub
```
5. 在事件处理程序中添加要执行的代码。例如,以下代码将在公式计算后将单元格A1的值复制到单元格B1中:
```
Private Sub Worksheet_Calculate()
Range("B1").Value = Range("A1").Value
End Sub
```
6. 保存代码并关闭VBA编辑器。
7. 返回到Excel工作表并更改单元格A1中的内容以触发公式计算。单元格B1中会自动显示与A1相同的值。
请注意,Worksheet_Calculate事件会在每次工作表上的公式计算后自动触发,即使公式计算结果与以前相同。因此,如果您的代码会对工作表进行大量操作,可能会影响性能。
VBA怎样才能让公式自动计算
在VBA中,你可以使用`Application.Calculate`方法来强制Excel重新计算所有公式。下面是一个示例代码:
```
Sub AutoCalculate()
Application.Calculate
End Sub
```
你可以将此代码保存在Excel工作簿的VBA编辑器中,并将其与工作簿中的任何事件(例如工作表打开或关闭)相关联,以便在自动计算时自动运行该代码。另外,你还可以使用`Application.EnableCalculation`属性来控制Excel是否自动计算公式。如果将其设置为`False`,则Excel将不会自动计算公式,直到将其设置为`True`。