Excel VBA質問箱 IV

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

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


4730 / 13644 ツリー ←次へ | 前へ→

【54867】ピボットテーブルで特定の項目(.pivotitems("XXX"))を表示させる けろけろ 08/4/2(水) 13:47 質問[未読]
【54869】Re:ピボットテーブルで特定の項目(.pivoti... n 08/4/2(水) 14:32 発言[未読]
【54882】Re:ピボットテーブルで特定の項目(.pivoti... けろけろ 08/4/3(木) 9:34 お礼[未読]

【54867】ピボットテーブルで特定の項目(.pivotit...
質問  けろけろ  - 08/4/2(水) 13:47 -

引用なし
パスワード
   けろけろです。
お世話になってます。

ピボットテーブルで特定の項目(.pivotitems("XXX"))を表示させることを考えています。

マクロは使いまわしていくことを想定しており、ファイルには
PivotItemsに"XXX"があることは保障されているものの、それ以外に
どのようなものがあるかはわかりません。

そのためにマクロ記録で、
1.Pivotitemsをすべて非表示にする
2.その後で表示させたい項目(XXX)を指定する

を試しましたが、
.PivotItems("YYY").Visible = False
.PivotItems("ZZZ").Visible = False

となってしまい、1.の操作が記録されません。このため、使いまわすことが出来ないマクロが生成されてしまいます。上の手順1.に対応する記述は出来ないものでしょうか?

イメージとしては、以下のような感じです(これだとエラーが出てしまいますが・・・)
    .PivotItems.Visible = False

解決手段をご存知の方、いらっしゃいましたらよろしくお願いいたします。

【54869】Re:ピボットテーブルで特定の項目(.pivo...
発言  n  - 08/4/2(水) 14:32 -

引用なし
パスワード
   こんにちは。
>1.Pivotitemsをすべて非表示にする
これは手動でもできないのではないですか?

Dim pvi As PivotItem

For Each pvi In Sheets("sheet2").PivotTables(1).PivotFields(1).PivotItems
  If pvi.Name <> "XXX" Then pvi.Visible = False
Next pvi
...のようにLoopして1つずつ判定する事になります。

【54882】Re:ピボットテーブルで特定の項目(.pivo...
お礼  けろけろ  - 08/4/3(木) 9:34 -

引用なし
パスワード
   けろけろです。

nさん、回答ありがとうございました。
解決しました。

For Eachという手があったのですね。
マクロ記録で何とかしようとしたのが甘かったです(反省)。


>>1.Pivotitemsをすべて非表示にする
>これは手動でもできないのではないですか?

ご指摘の通りです。こちらの表現が不正確でした。
すべて非表示にした状態で確定させようとすると、
警告のメッセージが表示され、ピボットアイテムを1つでも選ばないと、
確定は出来ません。

ご指摘ありがとうございました。

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