当源工作簿在不同的计算机上编辑时,如何自动且连续地更新主工作簿中的单元格值?

当源工作簿在不同的计算机上编辑时,如何自动且连续地更新主工作簿中的单元格值?

我需要制作一个主文件,用于监督团队成员的日常行动。通过这样做,主文件使用大量countifcountifs函数来计算未解决的项目和其他内容。函数使用的数据来自同一工作簿中的其他选项卡,这些数据来自许多不同的 excel 文件。(见下文)

流程图 附录

我的问题如下:每当团队成员更改源文件中的相关单元格时,主文件中的国家/地区编号选项卡单元格中的数据不会持续刷新。我可以通过功能区(数据/连接/编辑链接/更新值)手动刷新主文件中的单元格,方法是关闭并重新打开主文档,或者在后台打开源工作簿,但目标是使其全天保持最新状态而无需任何干预。

请注意,源文件中未填充的单元格已链接到主文件,以便能够看到源文件中的进一步更改。(例如:在 Country3.xlsm 中,B5:B7 中只能找到 3 个项目。B8、B9 等已链接到主文件中的相应单元格,因此如果插入第 4 个项目,则应该在主文件中看到它。)

我使用 Excel 2007,我的设置如下:

  • Excel 选项/公式/工作簿计算:自动
  • Excel 选项/高级/计算此工作簿时:更新到其他文档的链接
  • Excel 选项/高级/计算此工作簿时:保存外部链接值
  • Excel 选项/信任中心/信任中心设置/外部内容/数据连接的安全设置:启用所有数据连接(不推荐)
  • Excel 选项/信任中心/信任中心设置/外部内容/工作簿链接的安全设置:为所有工作簿链接启用自动更新(不推荐)
  • Excel 选项/信任中心/信任中心设置/消息栏/显示消息栏:当内容被阻止时,在所有应用程序中显示消息栏

请帮我解决这个问题!

答案1

您的问题的格式很好!

没有办法打开它,但有办法让它自动执行。如果您还没有启用开发人员功能区(如果您有完整的 Excel),请启用它,然后在该功能区中单击“Visual Basic”

您想坚持ActiveWorkbook.RefreshAll某个地方。也许可以通过编辑“ThisWorkbook”并添加以下代码:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    ActiveWorkbook.RefreshAll
End Sub

这样每次切换标签时都会发生这种情况吗?

或者也许通过编辑主表的 VBA 代码并ActiveWorkbook.RefreshAll在其中添加某个内容,例如在工作表的 Worksheet_Activate 或 Worksheet_SelectionChange 事件中?

一旦你开始工作,你也可以尝试去https://stackoverflow.com/questions/211715/how-to-make-a-macro-which-executes-periodically-in-excel让它每 n 秒定期更新一次。

相关内容