小技集

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



2025年5月9日【ID:0】

メンバー限定

【ExcelVBA】直接編集も自動抽出もできる仕組み

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


以下の表は、黄色のセルにVLOOKUP関数を用いた数式が入力されており、IDをB列に入力すると同時に、該当する商品名と単価がC列とD列に抽出されるようになっています。

しかし、数式で値を抽出している場合、例外的に商品名や単価を修正する必要がある時に、修正することができません。
直接修正してしまうと数式が上書きされ、更新されなくなってしまいます。

今回は、そのような例外的な修正も可能とした「直接編集も自動抽出もできる仕組み」の実現方法について解説していきます。
※こちらで実現したファイルは記事の最後にて配布しています。


1. 開発準備

「直接編集も自動抽出もできる仕組み」を実現するためには、VBAで開発する必要があります。
今回の場合は、B列のIDのセルが編集された時に、自動でC列とD列の商品名と価格を表示させる必要があります。

このように、特定のシート内の特定のセルが編集された時に処理を実行する仕組みを実現するには、「シートモジュール」を使用します。

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

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

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

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

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

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


2. コードの記述

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


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

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




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

メンバーとは


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

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


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

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


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





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

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


- 人気の記事 -



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



サイト累計閲覧数

7149122

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

Excel完全制覇


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

【Excel】分布を視覚化するには「ヒストグラム」

【Excel】2行1データの表を1行1データに変換

【Excel】表のデータ行や項目の位置を移動する

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

【Excel】図形の幅ギリギリまでテキストを表示

【Excel】数式の法則性から間違いを見つける

【ExcelVBA】チェックボックスを一括リセットするボタン作成

【Excel】非表示にした範囲の値をグラフに表示させる

【Excel】スピンボタンで文字入力

【Excel】FILTER関数で存在しない場合に好みのデータを表示

【Excel】1つの数式でセル結合を解除

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

【Excel】日付に対応する曜日を表示

【Excel】特定のセルの値を複数箇所に一括入力

【Excel】設定画面のテキストボックスで矢印キーを使用

【Excel】ユーザー設定リストを使って効率化

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

【Excel】目的のデータを効率的に検索

【Excel】実は無料の学習教材

【ExcelVBA】保存時に自動でバックアップファイルを作成

【Excel】選択した範囲内の改行を一括削除

【Excel】ピボットテーブルの表示形式

【Excel】グラフを一瞬で作成する方法

【Excel】複数行のデータを瞬時に1列にする方法

【Excel】海外資料を数式でサクッと翻訳





一覧ページへ

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