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.1
- 回答日時:
回答がつかないようなのでひとまず
①日付が指定されているセルがあるならばそのセルを参照、無い場合当日「now()」で設定すればどうでしょうか
②先月の最終日ということなので、当該日付の日を1日にし1を引けば先月の最終日となります
回答になりましたでしょうか
また、マクロで行うということはボタン等にて切替を行うのかシートが分かれていてデフォルトでファイルオープン時等に行うのか、そのあたりが不明ですので、詳細をいただければまた検討します
VBA上だけでやろうとしていましたが、セルを参照してそれを変数で持たせておけば
自由に設定が可能ですね。失念していました。
アドバイスありがとうございます。
何とかなりそうです。
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
ありがとうございます。
説明不足で申し訳ございません。
「当月」は本日の日時を自動で読み取って実行しようとしていました。
既にご回答済みの内容で実施したいと思います。
お手数お掛けしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ピボットテーブルの表示変更の仕方 初心者なので、的外れな質問だったらすみません 受注日ごとに商品名と 1 2022/04/26 23:23
- Visual Basic(VBA) 列 A に同じ日が2つが必要です。 1 2023/03/28 07:25
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) エクセルについて 8 2023/02/11 07:36
- Excel(エクセル) エクセルVBA オートフィルタでの絞り込みと並び替えについて 1 2023/07/08 13:08
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) 【Excel質問】 「本日の日付」から指定条件を満たす営業日経過後の日数を表示させる関数式 3 2022/06/06 23:28
- Excel(エクセル) エクセルでフィルタ後の列の重複を回避したい 6 2022/10/13 12:50
- Excel(エクセル) エクセルについて教えてください。 1 2023/03/03 08:38
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パソコンで購入したデーターが...
-
「24日の0時」って・・・
-
回覧板の日付について質問です...
-
日付の大小の表現
-
「時間」、「期日」、「日付」...
-
差し込み印刷に当日の日付が入...
-
エクセル マクロ 名前を付けて...
-
EXCELで日付を****年上期、****...
-
アンドロイドスマホ。カメラに...
-
Excelでヘッダに前日の日付を表...
-
ACCESSVBAのseekで複数INDEX検...
-
VBA Access 指定した日付から、...
-
選択クエリで実行結果を非表示...
-
Access DTPickerの初期表示月を...
-
エクセルで日付別にシートを分...
-
データベースソフト桐 日付選...
-
Excel関数:日付にナノ秒を足し...
-
下の画像はアンドロイドタブレ...
-
Accessにて24時を越えた場合の表示
-
何時頃まで起きていると夜更か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「24日の0時」って・・・
-
パソコンで購入したデーターが...
-
差し込み印刷に当日の日付が入...
-
日付の大小の表現
-
回覧板の日付について質問です...
-
「時間」、「期日」、「日付」...
-
エクセル マクロ 名前を付けて...
-
Excelの関数について質問です。
-
エクセルで6ヵ月後を自動入力で...
-
履歴書の日付間違いで落ちますか。
-
エクセルで日付別にシートを分...
-
差込印刷 縦書きで和暦(漢数...
-
WEEKDAYが反映されない
-
ACCESSで日付ごとに自動連番(...
-
EXCELで日付を****年上期、****...
-
2つの日付の中間の日付 エク...
-
エクセルで日付け表示で、明治...
-
アンドロイドスマホ。カメラに...
-
勤務表をエクセルで作る際、 最...
-
下の画像はアンドロイドタブレ...
おすすめ情報