小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2025年1月10日【ID:0】

メンバー限定

【ExcelVBA】データ変更と同時にピボットテーブルを自動更新


通常、ピボットテーブルは、元の表を更新したら、ピボットテーブル自体を更新しなければ反映されません。
そのため、元の表のデータを高頻度で変更する場合、毎回ピボットテーブルを更新するのは、少し手間になります。
そこで、こちらでは、元の表のデータの変更と同時に、ピボットテーブルを自動で更新する仕組みの実現方法について解説していきます。

※こちらで仕組みを取り入れたファイルは、記事の最後にて配布しています。

ExcelVBAレベル確認

事前準備

仕組みを実現する前に、ピボットテーブルが用意されているシート名とピボットテーブルの名前を確認します。
ピボットテーブルの名前は、対象のピボットテーブルを選択した時に表示される[ピボットテーブル分析]タブから確認することができます。

こちらでは、「ピボットテーブル1」という作成時の名前をそのまま活用していきますが、必要に応じて分かりやすい名前に変更した方が良いです。


開発準備

今回の仕組みは、「対象の表を編集すると同時に、対象のピボットテーブルを更新する」というものです。
このように、「特定のセルが編集されると同時に、何かしらの処理を実行する」という仕組みは、該当するシートモジュールイベントプロシージャを活用することで実現できます。

シートモジュールは、該当するシートのタブ上で右クリックし、[コードの表示]を選択することで表示することができます。

選択すると、以下のエディタ画面(VBE)が表示されます。
また、該当するシートのシートモジュールが表示された状態になります。
「Option Explicit」は、VBEの設定内容次第では表示されません。「Option Explicit」についての解説はこちらでは省略します。

次に、該当するシートのセルを編集すると同時に処理が実行される特殊なプロシージャ(イベントプロシージャ)を用意する必要があります。
そのためには、シートモジュールの左上のリストから「Worksheet」を選択します。

「Worksheet」を選択すると、自動で「Worksheet_SelectionChange」というプロシージャが表示されます。
このプロシージャは、該当するシート上のいずれかのセルが選択されると同時に処理が実行されるイベントプロシージャと呼ばれるものになります。

ただ、今回使用するイベントプロシージャは、セルを編集すると同時に処理が実行されるものになります。
そのため、右上のリストから「Change」を選択します。

表示された「Worksheet_Change」というプロシージャを活用します。
「Worksheet_SelectionChange」というプロシージャに関しては削除して問題ないです。


コードの記述

以下のコードを記述します。


続きはIT予備メンバー限定です。

メンバー限定コンテンツになります。




IT予備メンバーページと連携することで内容を確認することができます。

メンバーとは


すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。

ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。


メンバー募集
ExcelVBA学習ロードマップ配布 ExcelVBA学習ロードマップ配布





リンクの共有はこちらから行えます。

  リンクコピー Twitter Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

4461453

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】値を変えずに千の位以上を表示

【Excel】グラフにデータを瞬時に追加(離れている範囲でもOK)

【Excel】データバーで特定の値以下の色を変更

【Excel】四半期を簡単な数式で求める

【Excel】表の最終行を選択するリンクを作成

【Excel】カレンダーに休日を反映(VLOOKUP不要)

【Excel】「今日の予定」を表から抽出

【Excel】SWITCH関数で「その他」を表現

【Excel】締め日が20日の場合の「請求対象月」

【Excel】IFS関数で「その他」を表現

【Excel】複数条件で値を抽出

【Excel】VLOOKUP関数の参照元の表を切り替える

【Excel】いずれかの条件を満たすデータの集計

【Excel】数値以外の連続した文字を入力

【Excel】商品ごとの発注単位を考慮したリスト

【Excel】VLOOKUPより便利なINDEX・MATCH

【Excel】オートフィルのちょっとした小技

【Windows】圧縮ファイルを解凍した時の小技

【Excel】入力確定後の移動先

【Excel】絞り込み作業の効率化「スライサー」

【ExcelVBA】データ変更と同時にピボットテーブルを自動更新

【ExcelVBA】VBA開発でインデントが重要な理由

【Excel】フィルターで瞬時に絞り混むショートカット

【Excel】指定の倍数で金額を求める(時間にも活用できる)

【Excel】複数の行(列)の幅を一括で調整





一覧ページへ

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ