如何在Excel中获取电子表格数据以从VBA中重新计算自己,而不仅仅是改变单元格值?
以下几行将起到作用:
ActiveSheet.EnableCalculation = False ActiveSheet.EnableCalculation = True
编辑:.Calculate()方法不适用于所有函数,我在带有加载项数组函数的工作表上测试它.我正在使用的生产单很复杂,我不想尝试测试.CalculateFull()方法,所以它可能有效.
这应该是诀窍......
'recalculate all open workbooks Application.Calculate 'recalculate a specific worksheet Worksheets(1).Calculate ' recalculate a specific range Worksheets(1).Columns(1).Calculate
有时Excel会打嗝并需要一个启动才能重新应用等式.在使用自定义公式的某些情况下会发生这种情况.
确保您具有以下脚本
ActiveSheet.EnableCalculation = True
重新应用选择的方程式.
Cells(RowA,ColB).Formula = Cells(RowA,ColB).Formula
然后可以根据需要循环.
你也可以试试
Application.CalculateFull
要么
Application.CalculateFullRebuild
如果您不介意重建所有打开的工作簿,而不仅仅是活动工作表.(也CalculateFullRebuild
重建依赖关系.)