我有两个 excel 文件。一个包含多个人在一天中定期输入的所有数据。第二个文件从第一个文件中提取数据,然后创建一个数据透视图。如果两个文件都由一个用户打开,则数据透视表会自动更新。如果一个人打开了数据,另一个人打开了数据透视表,则数据透视图不会发生更新。我意识到必须保存数据,然后必须刷新第二个数据透视表。最快最简单的方法是什么?
答案1
将 Excel 用作多个用户的数据库存在局限性,您的示例就是其中之一。(另请参阅一个 Excel 文件多个编辑用户实时更新)
作为一个临时解决方案/解决方法,我建议如下:
1) 在“数据”工作簿中,将一些 VBA 代码添加到工作表模块,以便在记录新“条目”时自动保存工作簿。类似示例的代码可以工作,但请将“C:C”替换为要保存的列。这样做只是为了在完成每个字段时不保存,而只保存其中一个字段。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C:C")) Is Nothing Then
End Sub
2)在数据透视表和数据透视图工作簿中
a) 向模块中添加 VBA 代码ThisWorkbook
以自动打开数据工作簿,如下所示:
Private Sub Workbook_Open()
Workbooks.Open "C:\My Documents\Data_Workbook.xlsm"
End Sub
b) 设置为打开时自动刷新,如下图所示。显然,您需要打开“数据”工作簿,即使它处于只读模式。(您显然也可以为此编写一些 VBA 代码,但我已尝试将其最小化)
这不太优雅,但从一开始,使用 Excel 作为数据库就是一种妥协。