小技集

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



2025年4月18日【ID:0】

メンバー限定

【ExcelVBA】省略した項目を自動で入力

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


以下のように、所属(学年とクラス)と氏名を入力する表で、同じ所属の名前を複数件登録することがあるかと思います。

その際に、毎回同じ所属(学年とクラス)を入力するのは面倒ですし、コピーするのも地味に面倒です。
そのため今回は、所属(学年とクラス)を省略した場合は、1つ前の所属を自動で入力する仕組みの開発方法について紹介していきます。
色んな表で活用できる便利な機能になります。

※こちらで開発したファイルは記事の最後にて配布しています。


1. 開発準備

今回は、以下の表の「氏名」の項目に値が入力された時に、「学年」の項目が空欄だった場合は1つ前の「学年」を入力、「クラス」の項目が空欄だった場合は1つ前の「クラス」を入力するという仕組みを実現していきます。

そのように、特定のシートで特定のセルが編集された時に処理を自動で実行するには、「シートモジュール」の「イベントプロシージャ」を活用します。
シートモジュールは、該当するシートのタブ上で右クリックし、[コードの表示]を選択することで表示することができます。

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

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

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

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

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


2. コードの記述

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


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

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




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

メンバーとは


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

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


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

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


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





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

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


- 人気の記事 -



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



サイト累計閲覧数

6690781

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

Excel完全制覇


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

【Excel】生年月日から年齢を瞬時に求める

【Excel】データベースとなる表を作成するときのポイント

【Excel】VLOOKUP関数で効率的に抽出

【Excel】自動入力が邪魔?一瞬で無効にする方法

【Excel】各シートのタスク件数を求める

【Excel】SORT(BY)関数で複数列を基準にして並べ替える

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

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

【Excel】姓と名の間に半角スペースの入力を強制

【ExcelVBA】予定表の各日付に1行を追加する

【Excel】COUNTA関数の落とし穴と対策

【Excel】○○IFS関数を使ってOR条件で求める

【ExcelVBA】自動で書類の発行日とお支払い期限を設定

【Excel】条件付き書式で文字数チェック機能を実現

【Excel】該当する氏名をカンマ区切りで抽出

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

【Excel】期限に応じた優先度を自動で表示させる

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

【Excel】点数を5段階の星マーク(★)で表示する

【Excel】入力した数値を0埋め4桁にする

【Excel】片方にしか存在しない値を見つける

【Excel】FILTER関数で離れている列を抽出

【ExcelVBA】選択するだけでテンプレ入力

【Excel】重複した値の先頭以外をマーク

【ExcelVBA】マークのある行を削除する





一覧ページへ

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