我有一个 Excel 2010 文件,其中包含使用 RTD 自动更新的单元格。单元格示例:
=RTD("xxx";"yyy")
我需要每 X 分钟提取一次这些单元格的值(在 .txt 文件中)。我的 .txt 文件必须包含更新的值。
我尝试使用宏。该宏每 X 分钟导出一个 Excel 文件的 txt 文件。问题是,当宏运行时,单元格不会更新:值与启动宏之前的值相同。看起来宏禁止更新。
我能怎么做?
谢谢。
答案1
首先,转到 ExcelFile
菜单,然后单击Options
。在 下Formulas > Calculation Options > Workbook Calculation
,选择Manual
。现在,您可以向 VBA 代码添加一个简单的命令来更新单元格。此命令是Application.Calculate
(或者只是Calculate
)。希望这能有所帮助。
答案2
从你的问题来看,我猜测你的宏中有某种计时循环,它会等待延迟时间然后再进行记录,但宏会继续运行。
如果是这样,那么更好的方法是使用Application.OnTime
允许安排宏在特定时间运行的方法。在此期间,控制权通常会返回到 excel
为了让你入门,这里有一个大纲
Sub YourSub()
<do your logging stuff>
if not <terminal condition> then
Application.OnTime Now + TimeValue("XX:XX:XX"), "YourSub"
end if
end sub