如何在Excel中每日自动刷新含Rand()函数的工作表(无需Python)
在Excel内实现Rand()函数每日自动刷新的方法
方法1:打开工作簿时自动刷新
Rand()函数默认会在工作簿打开时自动重新计算生成新值,只需确保Excel的自动计算设置开启:
- 点击「文件」→「选项」→「公式」,勾选「自动重算」,同时勾选「保存工作簿时重新计算」。
- 这样每天打开文件时,Rand()就会自动生成新的随机数据。
方法2:工作簿持续打开时每日定时刷新(用VBA宏)
如果需要工作簿保持打开状态时,每天固定时间自动刷新,可通过VBA实现:
- 按
Alt + F11打开VBA编辑器。 - 在左侧「工程资源管理器」中双击对应工作簿的「ThisWorkbook」模块。
- 粘贴以下代码:
Private Sub Workbook_Open() ' 设置每天上午9点触发刷新,可自行修改时间 Application.OnTime TimeValue("09:00:00"), "RefreshRandData" End Sub Sub RefreshRandData() ' 强制重新计算所有公式 Application.CalculateFull ' 取消当前定时任务,避免重复触发 Application.OnTime TimeValue("09:00:00"), "RefreshRandData", Schedule:=False ' 设置第二天同一时间继续触发 Application.OnTime DateAdd("d", 1, Now), "RefreshRandData" End Sub - 将工作簿保存为「启用宏的工作簿(.xlsm)」格式。
注意:关闭工作簿后定时任务会终止,下次打开时会重新启动。
方法3:用Power Query设置每日刷新计划(无宏)
不想用宏的话,可借助Power Query实现自动刷新:
- 选中包含Rand()函数的单元格区域,点击「数据」→「从表格/区域」(Excel 2016及以上版本可用)。
- 在Power Query编辑器中直接关闭,选择将数据加载到当前工作表。
- 右键加载后的查询表,选择「数据区域属性」:
- 勾选「刷新频率」,设置为1440分钟(24小时)。
- 同时勾选「打开文件时刷新数据」,确保打开文件时也能更新。
内容的提问来源于stack exchange,提问作者Jeevan
相关产品推荐
相关产品推荐

