我正在使用中出现的所有解决方案:
How to refresh ALL cell through VBA
Getting Excel to refresh data on sheet from within VBA
ActiveSheet.EnableCalculation = False
ActiveSheet.EnableCalculation = True
或
Application.Calculate
或
Application.CalculateFull
它们在Excel 2010中都不起作用。当我转到单元格并右键单击"刷新"时,它起作用了。我如何在VBA中刷新?
将引发一个
例外438
问题:
1.如何使脚本支持Excel 2003、2007、2010?
1.如何使用VBA选择要刷新的源文件?
编辑:
1.我想模拟一次鼠标右键单击,然后在worksheet 3
的菜单中选择刷新,这就是整个过程。
1.我在处理一个10年前创建的Excel文件。当在Excel 2010中打开时,我可以转到一个单元格,右键单击它并选择刷新,然后选择要从其刷新的. txt文件。我正在尝试在VBA中自动执行此操作。
8条答案
按热度按时间wz8daaqr1#
您可以尝试使用**
Application.Calculation
**0aydgbwb2#
对于单个单元格,可以用途:
Range("D13").Calculate
或
lmyy7pcs3#
最后我使用鼠标事件和击键来实现:
wmomyfyw4#
只是提醒
使用时要小心
这将设置整个excel应用程序自动或手动计算公式。如果使用
你会发现你的自动公式不再起作用了。
干杯
l5tcr1uw5#
通过将单元格/单元格区域标记为脏,可以强制excel重新计算单元格或单元格区域。
示例:
或
yizd12fk6#
Application.Calculate
对我的函数不起作用。即使后面跟着DoEvents
也不行。我发现有效的方法是在单元格中重新输入公式。获取公式的一个简单方法是开始记录
macro
,使用F2
编辑单元格,然后按enter
。宏将制作一个包含所有需要的引号的函数文本的很好的副本。下面是一个例子。
vawmfj5a7#
非常适合我
2sbarzqh8#
我在一个工作簿中有一个很长的"宏",超过20 MB,有数万行,它调用一个用Fortran编写的dll。这些方法都不起作用:
这起了作用:
这甚至在选择了图表时也有效。