[[20221102103909]] 『ピボットテーブルのラベルフィルタ―の空白処理に』(ECARLAT) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ピボットテーブルのラベルフィルタ―の空白処理について』(ECARLAT)

「支店名」「品目」「販売月」「売上」の項目を持つデータシートから「支店名」をフィルタ―、行を「品目」、列を「販売月」、値を「売上」に設定したピボットテーブルをVBAで作成しています。
「販売月」は、テキスト形式で2022年1月は"202201"と6桁の文字でデータを持っています。
ピボットテーブルを作成する際に集計期間を設定、列に設定した「販売月」にフィルターで該当期間の月だけを抽出させるようにしています。
販売期間の抽出は

  With ActiveSheet.PivotTables(ピボットName).PivotFields("販売月")
    .Orientation = xlColumnField
    .ClearAllFilters
    For Each p_販売月 In ActiveSheet.PivotTables(ピボットName).PivotFields("販売月").PivotItems
     If InStr(FilterMonth, p_販売月.Value) = 0 Then
      p_販売月.Visible = False
     End If
    Next
  End With

でできています。

ところが中には「販売月」に空白(未記入)を使用している支店があり、「販売月」の空白はピボットテーブルでは表示させたくないため、ラベルフィルタ―で空白のチェックを外したいのです。
必ず空白が含まれているのであれば

.PivotItems("(blank)").Visible = False

で対処できるのですが、支店によって空白の有無がまちまちなので空白が含まれていない支店の場合、上記の記載があるとエラーが出てしまいます。

このような状況の中で、販売月のラベルフィルタ―に空白が含まれている場合に空白のチェックを外すにはどのようにしたらよいでしょうか?
ご助言のほどよろしくお願いします。

< 使用 Excel:Office365、使用 OS:Windows10 >


 エラーになるとは、どこの行で発生し、なんというエラーですか?

 簡単な動作確認をしてみました。
 ・FilterItem="202201,202202,202203"のような指定をしておけば、
   p_販売月という PivotItem の .Valueが"(blank)" であれば、
   p_販売月.Visible = False
   が実行されて、所期するような非表示になると思いますが。

 (参考)実験コード
 Sub test()
     Dim ピボットName$
     Dim p_販売月
     Dim FilterMonth$

     FilterMonth = "202201,202202,202203"

     ピボットName = "ピボットテーブル1"
     With ActiveSheet.PivotTables(ピボットName).PivotFields("販売月")
         .Orientation = xlColumnField
         .ClearAllFilters
         For Each p_販売月 In ActiveSheet.PivotTables(ピボットName).PivotFields("販売月").PivotItems
             Debug.Print p_販売月.Value
             If InStr(FilterMonth, p_販売月.Value) = 0 Then
                 p_販売月.Visible = False
             End If
         Next
     End With
 End Sub  
  
(γ) 2022/11/03(木) 05:34:22

ご回答ありがとうございます、またお返事が遅くなり申し訳ありませんでした。
恥ずかしながら、わたくしの勘違いでした。
空欄の表現に""ではなく、"blank"を使用しておりました。
そのため、実行エラー1004
PrivateItemsのプロパティを取得できませんとのエラーが出ました。
コード内容を確認し、"blank"を""に変更することで空白が非表示にできまいsた。
お騒がせして申し訳ありませんでした。
(ECARLAT) 2022/11/04(金) 11:02:25

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.