三流君のソースコード置き場

ブログにソースコードをアップして、ブログの検索機能で利用してます(利用予定です)

挨拶・自己紹介:「こんな感じ」や「あの、あの」と活舌の悪い、
三流プログラマーのオッサンです
Ken3三流君へ問い合わせ・連絡先:
[Ken3(管理者)へメッセージを送る], [YouTube動画にコメントを書く]
※↑質問・感想,コード修正・作成依頼など気軽に送ってください。

Worksheet_PivotTableUpdateを使いスライサー Slicersの選択期間をVBAでセルに自動転記

【結論:スライサー(タイムライン)の選択期間を、VBAでセルに自動転記できます!】

「集計レポートのタイトルに、スライサーで選んだ期間を手入力している…」
そんな手間をゼロにするマクロの書き方を解説しました。

ソースコードを冒頭で先に紹介する

```vba
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
    Debug.Print "Worksheet_PivotTableUpdate", Now()
    Debug.Print Target.Name
    Debug.Print "スライサーの数:", Target.Slicers.Count
    
    Dim n As Long
    For n = 1 To Target.Slicers.Count
        Debug.Print "-", "名前:", Target.Slicers(n).Caption
        If Target.Slicers(n).Caption = "日付" Then
            'ここから、中身を探る キャッシュの下が気になるけど
            Dim oSlicer As Excel.SlicerCache
            Set oSlicer = Target.Slicers(n).SlicerCache  '=Caption = "日付"のスライサーを代入
            '日付の範囲なので
            Debug.Print "|", "TimelineState.StartDate=", oSlicer.TimelineState.StartDate
            Debug.Print "|", "TimelineState.EndDate=", oSlicer.TimelineState.EndDate
            Debug.Print "|", "TimelineState.FilterValue1=", oSlicer.TimelineState.FilterValue1
            Debug.Print "|", "TimelineState.FilterValue2=", oSlicer.TimelineState.FilterValue2
        End If
    Next
End Sub
```

お急ぎの方は、以下のリンクから核心部分へ直接飛んでみてください。

1. 【一番のポイント】タイムラインの期間を抜く「TimelineState」
タイムライン: 15:14 https://www.youtube.com/watch?v=GTgvCh9GJg4&t=914
内容: SlicerCacheの「TimelineState.StartDate / EndDate」を使って日付を取得する核心部分。
ポイント: これを知っているだけで、日付スライサーの制御が格段に楽になります。

2. 【見どころ】「動いたら自動実行」させるイベント設定
タイムライン: 07:40 https://www.youtube.com/watch?v=GTgvCh9GJg4&t=460
内容: Worksheet_PivotTableUpdate イベントを使って、スライサーを触った瞬間にセルを書き換える設定です。
ポイント: ボタンを押す手間すら省く「全自動化」の鍵がここにあります。

3. 【誠実なポイント:注意点】エラーが出た時の回避策
タイムライン: 21:07 https://www.youtube.com/watch?v=GTgvCh9GJg4&t=1267
内容: 手動フィルター時や選択ミスで発生する「アプリケーション定義エラー」の直し方。
ここが重要: 現場で「動かない!」とならないよう、On Error Resume Next を使った堅実な書き方をフォローしています。

4. 【操作デモ】実際に動いている様子を確認
タイムライン: 00:19 https://www.youtube.com/watch?v=GTgvCh9GJg4&t=19
内容: 冒頭で「何ができるようになるのか」の結果をすぐに見せています。

5. 【正直にお伝えします】
・ライブ中の試行錯誤があるため、完成コードだけ見たい方は [00:32:52](https://www.youtube.com/watch?v=GTgvCh9GJg4&t=1972) 付近の結果を参考にしてください。


質問や「こんなマクロも見てみたい」というリクエストがあれば、YouTubeのコメント欄へお気軽にどうぞ!

#ExcelVBA #ピボットテーブル #スライサー #業務効率化


質問・感想・クレームなど、
気軽にコメント欄に書いてもらえるとうれしいです。

[Googleフォームにコメントを残す]
↑質問・コメントの入力フォームです、気軽に書いてください


フッター:最後にKen3Videoの動画一覧を紹介します

YouTubeにアップした動画です。他の動画を一瞬でも見てもらえるとさらに嬉しいです。
再生リスト:[三流君Ken3の最新動画]←リストの一覧形式で表示する


また、ブログを見に来てくださいね。ではまたぁ~