Excelのピボットテーブルについての質問です。

VBAを使って,たくさんのシートの中からピボットテーブル一覧を見つけたいのですが,どのようなコードを書いたらいいでしょうか? 例) ファイルPQRには,3つのピボットテーブルがあり,1つめは sheet1 の B100-E130 の範囲にある,2つめは.... という情報をマクロで探す
コードは書けるので,見つけるためのコアの部分のコードのみを提示ください。

回答の条件
  • 1人2回まで
  • 登録:2009/07/22 23:36:25
  • 終了:2009/07/23 23:14:35

回答(3件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692009/07/23 01:00:59

ポイント10pt

使うのはPivotTablesオブジェクトとTableRange1プロパティになります。

コアな部分だけという要望ですが、百聞は一見にしかず、サンプルコードを見ればわかりやすいでしょう。

Sub test()
    Dim ws As Worksheet
    Dim i As Integer
    Dim c As Integer
    
    For Each ws In Worksheets
        c = ws.PivotTables.Count
        If c > 0 Then
            For i = 1 To c
                MsgBox ws.Name & " " & ws.PivotTables(i).TableRange1.Address
            Next
        End If
    Next
End Sub
id:ken3memo No.2

ken3memo回答回数241ベストアンサー獲得回数742009/07/23 00:19:21

ポイント10pt

Sub aaa()

Dim n As Long

Dim i As Long

Debug.Print "ピボットテーブルの数" & ActiveWorkbook.PivotCaches.Count

For i = 1 To ActiveWorkbook.PivotCaches.Count

Debug.Print ActiveWorkbook.PivotCaches(i).SourceData

Next i

End Sub

こんなんで、いいのかわかりませんが。

何かの参考となれば、幸いです。

[f:id:ken3memo:20090723001847j:image]

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 jccrh1 111 94 19 2009-07-23 09:59:22

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません