Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


72878 / 76732 ←次へ | 前へ→

【8336】Re:ピボットテーブルのデータを条件検索
発言  コロスケ E-MAILWEB  - 03/10/9(木) 13:28 -

引用なし
パスワード
   とん さん:
こんにちは。VBA質問箱には久しぶりに顔を出させていただきます。m(__)m

私はピボットはあまり使ったことがないので詳しくないのですが、
>「野菜の中のきゅうりの1月〜3月の合計金額」
他の抽出条件がどのようなものかわかりませんがGetDataで取れると思いますよ♪

>現在ピボットテーブルをVBAで作っています。
元のデータから、こんな感じでピボットテーブルを作成されたと仮定して...(Excel2000)

Sub PivotTable作成()
  Dim pvt As PivotTable, arrSubTtl, arrTitle, arrField, arrPos, i As Long
  arrSubTtl = Array(False, False, False, False, False, False, False, False, False, False, False, False)
  arrTitle = Array("ジャンル", "名前", "月別売上", "金額")
  arrField = Array(1, 1, 2, 4)
  arrPos = Array(1, 2, 1, 1)
  Set pvt = ActiveWorkbook.PivotCaches.Add(1, [A1].CurrentRegion.Address).CreatePivotTable("")
  For i = LBound(arrTitle) To UBound(arrTitle)
    With pvt.PivotFields(arrTitle(i))
      .Orientation = arrField(i)
      .Position = arrPos(i)
      If arrTitle(i) = "ジャンル" Then
        .Subtotals = arrSubTtl
      End If
    End With
  Next
  With pvt
    .ColumnGrand = False
    .RowGrand = False
    .RefreshTable
  End With
End Sub

GetDataで取得できました。RowGrandを表示させてないとダメみたいです。

Sub 合計取得()
  Dim pvt As PivotTable, tmp
  Set pvt = ActiveSheet.PivotTables(1)
  With pvt
    .RowGrand = True
    tmp = .GetData("'総計' 野菜 きゅうり")
    .RowGrand = False
  End With
  Set pvt = Nothing
  MsgBox tmp
End Sub

>条件が決められたものであればいいのですが、毎回変わってしまいます。
でしたら、条件を引数で渡してやればいかがですか?
2 hits

【8323】ピボットテーブルのデータを条件検索 とん 03/10/8(水) 19:36 質問
【8336】Re:ピボットテーブルのデータを条件検索 コロスケ 03/10/9(木) 13:28 発言
【8362】Re:ピボットテーブルのデータを条件検索 とん 03/10/10(金) 15:29 お礼

72878 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free