📊 Excel VBA Top100

ScheduledDataRefresh

自動化

ブック内の全クエリ・ピボットテーブルを一括更新します

🎬 デモGIF準備中

📖 使い方

  1. VBAエディタを開く(Alt + F11)
  2. モジュールを挿入(挿入 > モジュール)
  3. 下記VBAコードをコピー&ペースト
  4. ブック上で実行(Alt + F8 でマクロ選択)
💡 実行例: ScheduledDataRefresh を実行すると、全データ接続とピボットテーブルが更新されます

💻 VBAコード

' ScheduledDataRefresh
' -----------------
' Macro Name: ScheduledDataRefresh
' Description: ブック内の全クエリ・ピボットテーブルを一括更新します
' Parameters: なし
' Returns: なし
' Usage: ScheduledDataRefresh を実行すると、全データ接続とピボットテーブルが更新されます
' -----------------

Sub ScheduledDataRefresh()
    On Error GoTo ErrorHandler

    Dim wb As Workbook
    Dim ws As Worksheet
    Dim pt As PivotTable
    Dim conn As WorkbookConnection
    Dim refreshCount As Long

    Set wb = ActiveWorkbook
    refreshCount = 0

    ' クエリ・データ接続を更新
    For Each conn In wb.Connections
        conn.Refresh
        refreshCount = refreshCount + 1
    Next conn

    ' 全ピボットテーブルを更新
    For Each ws In wb.Worksheets
        For Each pt In ws.PivotTables
            pt.RefreshTable
            refreshCount = refreshCount + 1
        Next pt
    Next ws

    MsgBox refreshCount & " 件のデータを更新しました", vbInformation, "完了"

    Exit Sub

ErrorHandler:
    MsgBox "エラーが発生しました:" & vbCrLf & Err.Description, vbCritical, "エラー"
End Sub