ピボットテーブルのフィールドリストを全て選択する(ループを使用) | カメレオンのVBA

カメレオンのVBA

VBAの私的メモ書き

ループを使ってピボットテーブルのフィールドを全て選択する。
実行速度は遅い傾向にあるが、
sendkeysを用いるのと比べて、
動作は安定していると言えるだろう。

<サンプル>
    Dim PT As String
    Dim PF As String   
   
    PT = "ピボットテーブル" ’ピボットテーブル名
    PF = "月"        ’フィールドリスト名

    With ActiveSheet.PivotTables(PT).PivotFields(PF)
        '非表示の時は実行しない
         If .Orientation = 0 Then
                Exit Sub
        End If

        '全て選択する
        On Error Resume Next
        i = 1
        Do While i < .PivotItems.Count + 1
                .PivotItems(i).Visible = True
            i = i + 1
        Loop
        On Error GoTo 0
  End With