在Microsoft Excel中查找丢失的数据透视表

时间:2011-06-17 11:37:31

标签: excel

在Microsoft Excel中,刷新数据源时(单击“数据”选项卡下“连接”块中的“全部刷新”),它会向我提供一条消息,指出它无法找到数据源。数据透视表 - 这是可以理解的,因为我删除了包含数据的工作表。

问题是现在找到要删除它的特定数据透视表,因为我不希望每次刷新数据源时都收到消息。

有什么想法吗?

1 个答案:

答案 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中,当我刷新时,弹出一个对话框,告诉我哪个数据透视表没有连接。