在Microsoft Excel中,刷新数据源时(单击“数据”选项卡下“连接”块中的“全部刷新”),它会向我提供一条消息,指出它无法找到数据源。数据透视表 - 这是可以理解的,因为我删除了包含数据的工作表。
问题是现在找到要删除它的特定数据透视表,因为我不希望每次刷新数据源时都收到消息。
有什么想法吗?
答案 0 :(得分:1)
作为一个简单的一次性测试,我认为这对您有用。它会显示一条消息并选择有问题的数据透视表。只需将此代码放在工作簿中带有数据透视表的模块中:
Sub FindDatalessPivot()
Dim ws As Excel.Worksheet
Dim pt As Excel.PivotTable
For Each ws In ThisWorkbook.Worksheets
For Each pt In ws.PivotTables
With pt
On Error Resume Next
.RefreshTable
If Err.Number <> 0 Then
ws.Activate
.DataBodyRange.Select
MsgBox .Name & " in " & ws.Name & " is disconnected."
End If
On Error GoTo 0
End With
Next pt
Next ws
End Sub
当然,您也可以通过单独刷新每个数据透视表来手动执行此操作。
我还注意到,至少在Excel 2010中,当我刷新时,弹出一个对话框,告诉我哪个数据透视表没有连接。