Excel VBA質問箱 IV

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

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


152 / 13645 ツリー ←次へ | 前へ→

【81725】シート内のすべてのピボットテーブルに対してフィルターをかける やまと 21/4/13(火) 9:52 質問[未読]
【81726】Re:シート内のすべてのピボットテーブルに... マナ 21/4/13(火) 17:22 発言[未読]
【81736】Re:シート内のすべてのピボットテーブルに... やまと 21/4/21(水) 16:26 発言[未読]
【81737】Re:シート内のすべてのピボットテーブルに... マナ 21/4/21(水) 21:09 発言[未読]
【81763】Re:シート内のすべてのピボットテーブルに... やまと 21/4/28(水) 12:00 お礼[未読]

【81725】シート内のすべてのピボットテーブルに対...
質問  やまと  - 21/4/13(火) 9:52 -

引用なし
パスワード
   質問失礼します。シート内に複数あるピボットテーブル(項目等はすべて同じ)に対して、同じフィルターをかけるコードを記述していますが、
「PivotitemクラスのVisibleプロパティを設定できません。」とエラーがでてきてうまくいきません。
当方VBA初心者なので、皆さんのお力を借りたいです。。以下、コードです。


Dim PT As PivotTable
Dim WS As Worksheet
Dim itm As PivotItem
  For Each WS In ThisWorkbook.Worksheets
    For Each PT In WS.PivotTables
    For Each itm In PT.PivotFields("納品番号").PivotItems
      Select Case itm.Value
        Case "QQQQ", "AAAA"
          itm.Visible = False
        Case Else
          itm.Visible = True
      End Select
    Next itm
  Next PT
  Next WS
End Sub

【81726】Re:シート内のすべてのピボットテーブル...
発言  マナ  - 21/4/13(火) 17:22 -

引用なし
パスワード
   ▼やまと さん:

これで、どうなりますか?

PT.ClearAllFilters
For Each itm In PT.PivotFields("納品番号").PivotItems
  Select Case itm.Value
    Case "QQQQ", "AAAA"
      itm.Visible = False
  End Select
Next itm

あるいは

For Each itm In PT.PivotFields("納品番号").PivotItems
  If itm.RecordCount > 0 Then
    Select Case itm.Value
      Case "QQQQ", "AAAA"
        itm.Visible = False
      Case Else
        itm.Visible = True
    End Select
  End If
Next itm

【81736】Re:シート内のすべてのピボットテーブル...
発言  やまと  - 21/4/21(水) 16:26 -

引用なし
パスワード
   ▼マナ さん:回答していただきありがとうございます!

処理自体はうまくいくのですが、最後に同様のエラーが出てきてプログラム自体が終了しません、、、

>▼やまと さん:
>
>これで、どうなりますか?
>
>PT.ClearAllFilters
>For Each itm In PT.PivotFields("納品番号").PivotItems
>  Select Case itm.Value
>    Case "QQQQ", "AAAA"
>      itm.Visible = False
>  End Select
>Next itm
>
>あるいは
>
>For Each itm In PT.PivotFields("納品番号").PivotItems
>  If itm.RecordCount > 0 Then
>    Select Case itm.Value
>      Case "QQQQ", "AAAA"
>        itm.Visible = False
>      Case Else
>        itm.Visible = True
>    End Select
>  End If
>Next itm

【81737】Re:シート内のすべてのピボットテーブル...
発言  マナ  - 21/4/21(水) 21:09 -

引用なし
パスワード
   ▼やまと さん:

>処理自体はうまくいくのですが、最後に同様のエラーが出てきてプログラム自体が終了しません、、、
>
では、以下を試してみてください。

ht tps://cloud6.net/so/excel/1408202

【81763】Re:シート内のすべてのピボットテーブル...
お礼  やまと  - 21/4/28(水) 12:00 -

引用なし
パスワード
   まなさん

解決しました!本当にありがとうございます!

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