[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ピボット レポートフィルタ期間設定』(すいか)
いつも参考にさせてもらっています。
ピボットテーブルのVBAに関して
セルに入力した日付(開始・終了)でピボットテーブルを変更したいと考えております。
日付はピボットテーブルの左上の(レポート)にあります。
実行するとエラー1004 アプリケーション定義または
オブジェクトの定義エラーですと表示されます。
変数ではなく"2020/3/10"と入力してもエラーになります
Dim myday1 As String
Dim myday2 As String
'B5、B6には日付を入力
myday1 = Format(Range("B5"), "yyyy/m/d") myday2 = Format(Range("B6"), "yyyy/m/d")
ActiveSheet.PivotTables(1).PivotFields("日").PivotFilters.Add2 Type _
:=xlDateBetween, Value1:=myday1, Value2:=myday2
ご教示お願い致します。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
Option Explicit
Sub test() Dim myday1 As Long Dim myday2 As Long Dim d As Long Dim pvf As PivotField Dim pvi As PivotItem
myday1 = Range("B5").Value2 myday2 = Range("B6").Value2
Set pvf = ActiveSheet.PivotTables(1).PivotFields("日") pvf.ClearAllFilters
For Each pvi In pvf.PivotItems d = CLng(DateValue(pvi.Name)) If myday1 > d Or myday2 < d Then pvi.Visible = False Next
End Sub
(マナ) 2020/04/08(水) 19:23
ありがとうございます。
1個ずつ処理することがポイントだったのですね。
(すいか) 2020/04/09(木) 08:24
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.