
VBAでピボットテーブルの日付フィルタを行いたいですが可能でしょうか?
可能であれば方法をご教授お願い致します。
①下記"2019/5/8"となっているところを、当月以降でフィルタ
(例:今日が2019/5/8の場合、2019/5/1以降を表示)
ActiveSheet.PivotTables("Pibot1").PivotFields("日付").PivotFilters.Add2 Type:= _
xlAfter, Value1:="2019/5/8"
②下記"2019/5/8"となっているところを、当月より前でフィルタ
(例:今日が2019/5/8の場合、2019/4/30以前を表示)
ActiveSheet.PivotTables("Pibot1").PivotFields("日付").PivotFilters.Add2 Type:= _
xlBefore, Value1:="2019/5/8"
"2019/5/8"の個所を変数にすれば良いかと思っているのですが、変数をどのようにすれば
良いのか分からず質問させて頂きました。
※上記どちらもマクロの記録機能を使った構文ですm(_ _)m
No.2ベストアンサー
- 回答日時:
こんにちは
よくわかりませんが、要は「当月初日」と「前月最終日」を求めたいということでしょうか?
例えば
firstDay = DateSerial(Year(Date), Month(Date), 1)
lastDay = firstDay - 1
Debug.Print firstDay '→ 2019/05/01
Debug.Print lastDay '→ 2019/04/30
とかではいかがですか?
No.3
- 回答日時:
例えば、こういうことでしょうか。
ダイアログ・タイプにしてみました。
Dim ret As Variant
Dim mDate As Variant
ret = Application.InputBox("日付を入力してください yyyy/mm/dd", Type:=2)
If Not IsDate(ret) Then Exit Sub '日付でなかったら、離脱
mDate = CDate(ret)
mDate = Format$(mDate, "yyyy/m/d") '文字列に変換/変数代入
With ActiveSheet
.PivotTables("ピボットテーブル1").PivotFields("日付").ClearAllFilters
.PivotTables("ピボットテーブル1").PivotFields("日付").PivotFilters.Add2 Type _
:=xlBefore, Value1:=mDate
End With
ありがとうございます。
説明不足で申し訳ございません。
「当月」は本日の日時を自動で読み取って実行しようとしていました。
既にご回答済みの内容で実施したいと思います。
お手数お掛けしました。
No.1
- 回答日時:
回答がつかないようなのでひとまず
①日付が指定されているセルがあるならばそのセルを参照、無い場合当日「now()」で設定すればどうでしょうか
②先月の最終日ということなので、当該日付の日を1日にし1を引けば先月の最終日となります
回答になりましたでしょうか
また、マクロで行うということはボタン等にて切替を行うのかシートが分かれていてデフォルトでファイルオープン時等に行うのか、そのあたりが不明ですので、詳細をいただければまた検討します
VBA上だけでやろうとしていましたが、セルを参照してそれを変数で持たせておけば
自由に設定が可能ですね。失念していました。
アドバイスありがとうございます。
何とかなりそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel、VBAでピボットテーブル、pagefieldの絞込み
Excel(エクセル)
-
エクセル ピボットテーブルのマクロ設定について
Excel(エクセル)
-
EXCEL2007 VBAでピボットのフィルタ指定
その他(プログラミング・Web制作)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
EXCELピボットテーブル(複数アイテム)
Excel(エクセル)
-
6
【VBA】ピボットテーブルの範囲指定を変数にする
Excel(エクセル)
-
7
エクセルのvbaにて thisworkbookに記載のマクロを他のブックにマクロにて自動コピー出来る
Excel(エクセル)
-
8
EXCEL 2010 VBAでピボットで複数のアイテムをセルでフィルタ指定
Visual Basic(VBA)
-
9
VBA 別ブックからコピペしたいのですが、軽くしたいです
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロボタンを押すと、ファイ...
-
「24日の0時」って・・・
-
日付の大小の表現
-
「時間」、「期日」、「日付」...
-
差し込み印刷に当日の日付が入...
-
エクセル マクロ 名前を付けて...
-
エクセルで日付別にシートを分...
-
2つの日付の中間の日付 エク...
-
Excelでヘッダに前日の日付を表...
-
スクリーンショットで撮影する...
-
Excel関数 基準日に一番近い指...
-
回覧板の日付について質問です...
-
Excelについて
-
日付以外のデータを抽出したい...
-
会社や役所などに提出する書類...
-
折れ線グラフ 横軸の日付 土...
-
期間指定して抽出したいんです
-
EXCELで日付を****年上期、****...
-
ピボットテーブルの日付フィル...
-
メールの最後に日付をいれますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロボタンを押すと、ファイ...
-
「24日の0時」って・・・
-
回覧板の日付について質問です...
-
日付の大小の表現
-
差し込み印刷に当日の日付が入...
-
「時間」、「期日」、「日付」...
-
エクセル マクロ 名前を付けて...
-
エクセルで日付別にシートを分...
-
EXCELで日付を****年上期、****...
-
履歴書の日付間違いで落ちますか。
-
Excelについて
-
フォームの値をクエリーに反映...
-
エクセルで6ヵ月後を自動入力で...
-
会社や役所などに提出する書類...
-
日付以外のデータを抽出したい...
-
ACCESSで日付ごとに自動連番(...
-
エクセルで日付け表示で、明治...
-
Excelで1週間毎の集計(今週と...
-
Excelでヘッダに前日の日付を表...
-
2つの日付の中間の日付 エク...
おすすめ情報