毎月以下のような表の作業をしますが、
あ い う
1 A B 100
2 C D 100
3 D E 200
4 W R 200
5 T G 500
この表で「う」の列の200を抽出し100と500は抽出しない
つまり以下の表になる
あ い う
3 D E 200
4 W R 200
というマクロを使用したピボットテーブルを作成したいが、とりあえずマクロの自動記録でやると
以下のようになります。
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("う")
.PivotItems("100").Visible = False
.PivotItems("500").Visible = False
End With
ここで問題なのはいつも「う」の列は100と200と500だけとは限らないことです。
時には600があり、また時には500がなかったりします。
そうすると100とか200とか500に何か変数をあてはめて実行すればいいでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
もう少し良い方法がありそうな気がしますが、とりあえず
Sub test1()
Dim chk As String
Dim pvi As PivotItem
Application.ScreenUpdating = False
chk = "200"
For Each pvi In ActiveSheet.PivotTables(1).PivotFields("う").PivotItems
If Not pvi.Value Like chk Then pvi.Visible = False
Next pvi
Application.ScreenUpdating = True
End Sub
...な感じで。
これを戻す時(全て表示)は、For Each...Next内、無条件でpvi.Visible = Trueにすれば良いです。
PivotTableのデータ更新をしても良ければ、
Sub test2()
With ActiveSheet.PivotTables(1).PivotFields("う")
.Orientation = xlHidden
.Parent.RefreshTable
.Orientation = xlRowField
End With
End Sub
これで再表示できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Application.Runエラー(1004)
-
エクセルのマクロボタンが編集...
-
access2010 コマンドまたはアク...
-
別シートのマクロを実行する方法
-
マクロ 戻るボタンを押したらシ...
-
エクセルVBAで、ボタンの文字を...
-
エクセルのマクロ
-
シート保護を掛けたまま並べ替...
-
マクロが登録できません
-
エクセル VBA SendKeys ループ...
-
excelで会議室予約表の作成(マ...
-
InputBox内の表示について
-
特定のシートだけ印刷はマクロ...
-
Access終了時にマクロまたはVBA...
-
private sub にしたらマクロが...
-
AccessマクロをVBAを使ってデザ...
-
EXCEL2010でxltmにxlsmは必要?
-
アクセスの更新クエリをフォームで
-
Excel2003でシート保護(オート...
-
プロシージャが大きすぎます!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのマクロボタンが編集...
-
別シートのマクロを実行する方法
-
Access終了時にマクロまたはVBA...
-
Application.Runエラー(1004)
-
シート保護を掛けたまま並べ替...
-
エクセルVBAで、ボタンの文字を...
-
access2010 コマンドまたはアク...
-
マクロ 戻るボタンを押したらシ...
-
InputBox内の表示について
-
特定のシートだけ印刷はマクロ...
-
ExcelのVBAでDisplayalertsで警...
-
エクセル VBA SendKeys ループ...
-
マクロが登録できません
-
今日の日付の範囲を指定して印...
-
AccessでExcelファイルを印刷
-
プロシージャが大きすぎます!
-
エクセルのマクロ
-
Workbook_Openを起動時以外に呼...
-
アクセス:検索フォームボタンに...
-
特定マクロが実行されたか確認...
おすすめ情報