从另一个 Excel 文件中提取的数据透视表在文件更新时不会更新

从另一个 Excel 文件中提取的数据透视表在文件更新时不会更新

我有两个 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 作为数据库就是一种妥协。

相关内容