【问题标题】:VBA Excel - Refresh Pivot Table/Power QueryVBA Excel - 刷新数据透视表/Power Query
【发布时间】:2019-12-01 21:25:41
【问题描述】:

我正在尝试刷新一个 Power Query,然后是一个数据透视表(运行该数据),当我使用 F8 单步执行代码时,我可以让它工作,但在运行宏时它不会工作

有什么想法吗?

谢谢!!

Sub Test()

Dim WB As Workbook
Dim pt As PivotTable
Set WB = ThisWorkbook
Set pt = ActiveSheet.PivotTables("PivotTable1")

'Refresh Power Queries & Pivot Tables
ThisWorkbook.RefreshAll
WB.Worksheets("By Customer Pivot").Activate
pt.RefreshTable


End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    这是刷新所有 Power Queries 的方法。

    Sub RefreshAllPQ_Queries()
    
        Dim Connection As WorkbookConnection
        Dim lTest As Long
    
        On Error Resume Next
    
        For Each cn In ThisWorkbook.Connections
    
            lTest = InStr(1, cn.OLEDBConnection.Connection, _
                    "Provider=Microsoft.Mashup.OleDb.1")
    
            If Err.Number <> 0 Then
    
                Err.Clear
    
                Exit For
    
            End If
    
        If lTest > 0 Then cn.Refresh
    
        Next cn
    
    
    End Sub
    

    这就是刷新数据透视表的方法。

    Sub RefreshPivotTable()
    
    
        Dim wb As Workbook
        Dim ws As Worksheet
        Dim strWS As String
        Dim strPT As String
    
        strWS = "Invoice"
        strPT = "pt_Invoice"
        Set wb = ThisWorkbook
        Set ws = wb.Worksheets(strWS)
    
        ws.PivotTables(strPT).PivotCache.Refresh
    
        Set ws = Nothing
        Set wb = Nothing
        strWS = vbNullString
        strPT = vbNullString
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2018-12-30
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-12
      • 2015-09-25
      相关资源
      最近更新 更多