[[20200408181138]] 『ピボット レポートフィルタ期間設定』(すいか) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ピボット レポートフィルタ期間設定』(すいか)

いつも参考にさせてもらっています。

ピボットテーブルの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.