回答編集履歴
2
回避策を追加
answer
CHANGED
@@ -5,4 +5,11 @@
|
|
5
5
|
私の場合は`PivotItems`が固定かつ数も少なかったので、それぞれの`Visible`の`True`と`False`をいちいち設定することで解決しました。
|
6
6
|
|
7
7
|
質問者さんの事例で`PivotItems`が可変であるならば、`PivotItems`コレクションの要素一つ一つが「5*」に当てはまるか判定しながら`Visible`を切替えるようなロジックが必要になると思います。
|
8
|
-
つまり、質問者さんの示されているコードが最善に近い、というのが結論です。
|
8
|
+
つまり、質問者さんの示されているコードが最善に近い、というのが結論です。
|
9
|
+
|
10
|
+
---
|
11
|
+
|
12
|
+
追記
|
13
|
+
ピボットテーブルのフィルタの数にも制限があるようです。
|
14
|
+
[Excel の仕様および制限](https://support.office.com/ja-jp/article/excel-%E3%81%AE%E4%BB%95%E6%A7%98%E3%81%8A%E3%82%88%E3%81%B3%E5%88%B6%E9%99%90-1672b34d-7043-467e-8e27-269d656771c3)
|
15
|
+
回避策ではありますが、「5*」を実現するための列(先頭1文字抽出とか)を追加して、その列にフィルタをかける手もなくはないです。
|
1
回答が、改善案になっていなかったので書き方を変更。
answer
CHANGED
@@ -4,4 +4,5 @@
|
|
4
4
|
そのような結果になったということは、「5*」そのものをVBAでストレートに表現するのは難しい、ということだと思います。Excelが裏でそれだけのユーザー操作を代行していた、ということですね。私もつい最近、似たような事例に遭遇しました。
|
5
5
|
私の場合は`PivotItems`が固定かつ数も少なかったので、それぞれの`Visible`の`True`と`False`をいちいち設定することで解決しました。
|
6
6
|
|
7
|
-
質問者さんの事例で`PivotItems`が可変であるならば、`PivotItems`コレクションの要素一つ一つが「5*」に当てはまるか判定しながら`Visible`を切替えるようなロジックが必要
|
7
|
+
質問者さんの事例で`PivotItems`が可変であるならば、`PivotItems`コレクションの要素一つ一つが「5*」に当てはまるか判定しながら`Visible`を切替えるようなロジックが必要になると思います。
|
8
|
+
つまり、質問者さんの示されているコードが最善に近い、というのが結論です。
|