错误VBA 9下标超出范围

我有一个Excel工作簿3个选项卡。

第二个选项卡(Sheet2)是来自Oracle DB的数据。

我使用Sheet2中的数据在Sheet3中创build了一个数据透视表。

数据更改时,我希望数据透视表自动更新。

这里是代码:

Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("Sheet3").PivotTables("PivotTable4").PivotCache.Refresh End Sub 

数据透视表4是数据透视表的名称。

几分钟后,我得到了错误:

运行时错误“9”:下标超出范围。

在使用多个工作簿时,如果代码在一个工作簿中查找具有特定名称的对象,而实际上在另一个工作簿中,则会出现“下标超出范围”错误。 因此,如果打算打开多个工作簿,那么定义要执行的代码是一个好主意,例如:

 Workbooks("MyWorkbook").Worksheets("Sheet3").PivotTables("Pi‌​votTable4").PivotCac‌​he.Refresh