小技集

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



2025年1月10日【ID:0】

メンバー限定

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

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


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

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


事前準備

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

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

ExcelVBAレベル確認

開発準備

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

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

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

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

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

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

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


コードの記述

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


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

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




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

メンバーとは


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

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


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

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集 メンバー募集





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

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


- 人気の記事 -



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



サイト累計閲覧数

7175396

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

Excel完全制覇


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

【Excel】エラーを無視して集計する

【Excel】セルの入力を取り消す

【Excel】表の最終行を瞬時に選択

【Word】自動で現在の日付や時刻を更新する

【Excel】昇順や降順ではなく、好みの順番に並べ替える方法

【Excel】データ数に応じて自動で連番を振る方法

【Googleスプレッドシート】チェックボックスの自動表示

【Excel】2重の円グラフ(詳細と小計)を作成

【Excel】上限額を設定して支給額を自動で求める

【Excel】指定日以降でないと入力できない設定

【Excel】重複入力できないリストを作成

【Excel】BYROW(COL)関数でスピル非対応の関数を対応させる

【Excel】単位をセルの端に表示する

【Excel】FILTER関数1つで離れている項目を抽出

【Excel】SUM関数より凄いSUBTOTAL関数とは

【Excel】予定表から「次回の予定」を抽出(XLOOKUP)

【Excel】「=」と「EXACT関数」の違いとは

【Excel】テーブルを使わずに自動で拡張する範囲設定

【ExcelVBA】マークされた行を削除する

【Excel】数式が入力されているセルを自動で色付けする

【Word】特定の文字を改行に置換する

【Excel】年月を変更するだけで万年使えるカレンダー

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

【Excel】分表記を時刻表記(時:分)に変換

【Word】好みの「組み文字」を入力する方法





一覧ページへ

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