ピボットテーブルのフィルターで、特定の文字列を含まないものだけを表示させる

CSVデータ集計に、Excelのピボットテーブルを用いることがある。定例業務のためVBAでツールを作成して運用していたところ、ユーザー部門から
「〇〇という言葉が含まれる場合を除外したい」
というリクエストがあったので挑戦してみた。
f:id:Infoment:20190225214022p:plain
業務の様子を疑似的に再現するために、今回も「なんちゃって個人情報」のお世話になる。
f:id:Infoment:20190225212456p:plain


例えばピボットテーブルで、出身地を男女別に集計してみる。
f:id:Infoment:20190225212619p:plain


このとき、なぜか「カレーの食べ方」で「せき止め派」を除外したくなったとする(例えばの話なので、せき止め派の皆さん御容赦ください)。
そこでまず、フィルターに「カレーの食べ方」を充ててみる。
f:id:Infoment:20190225212922p:plain


すると、こうなる。
f:id:Infoment:20190225212945p:plain


ここで「〇〇」を「除外する」があれば良いのだが、残念ながら見当たらない。
f:id:Infoment:20190225213109p:plain


仕方ないので、マクロでは一つずつ確認して、見せるか見せないかを選択することにした。

Sub Test()
 Dim p As PivotItem
    For Each p In ActiveSheet.PivotTables(1).PivotFields("カレーの食べ方").PivotItems
        If p.Value Like "*せき止め派*" Then
            p.Visible = False
        Else
            p.Visible = True
        End If
    Next
End Sub


実行してみたところ、せき止め派のチェックが全て外れていた。
f:id:Infoment:20190225213540p:plain


一応、希望する動作は実現できたが、もっとスマートな方法は無いものか。

引き続き模索するとします。

参考まで。