小技集

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



2025年2月21日【ID:0】

メンバー限定

【ExcelVBA】相関性を保ったまま重複のない番号を自動入力

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


「No」や「ID」の項目などで重複のない番号を自動入力する際に、以下のようにROW関数を活用して入力することがあります。

しかし、ROW関数を活用して入力していると、表を並べ替えた時に番号が更新されてしまい、番号と他の項目との相関性がなくなってしまいます。

ということで今回は、相関性を保ったまま重複のない番号を自動入力する仕組みの実現方法について解説します。
※こちらで開発したファイルは記事の最後にて配布しています。

📘 Excel小技100選(500円)


1. 開発準備

今回は、以下の表の「Name」の項目に値が入力されると同時に、「No」の項目に重複のない番号を入力するという仕組みを実現します。

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

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

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

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

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

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


2. コードの記述

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


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

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




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

メンバーとは


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

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


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

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


小技集-電子書籍販売ページ 小技集-電子書籍販売ページ
メンバー募集 メンバー募集






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

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


- 人気の記事 -



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



サイト累計閲覧数

8320431

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

Excel完全制覇


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

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

【Excel】PDFファイルを読み込む方法

【Excel】マクロ不要!セルの内容でメール送信!

【Excel】指定した年月のデータを数式で抽出

【Excel】表に自動で罫線を設定(カテゴリー別の罫線も設定)

【Excel】条件付き書式で検索機能を作成

【Word】「表記ゆれ」を瞬時に修正する方法

【ExcelVBA】双方向の入力を実現する方法

【Excel】スピルを使って要素単位で自動集計

【ExcelVBA】チェックボックスを使って進捗をワンクリック更新

【ExcelVBA】セルの変更履歴表を自動作成

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

【Excel】マトリックス表の見出しの作成方法

【ExcelVBA】ダブルクリックで値を切り替える方法

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

【Excel】数式で年齢を求める方法【2選】

【Excel】シートの追加と削除を一瞬で行うショートカット

【Excel】表にある日付のみグラフに表示

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

【Excel】表の順番をランダムに並べ替える

【Excel】一致データの先頭と末尾を抽出

【ExcelVBA】シートの「表示・非表示」を瞬時に切り替える

【Excel】マトリックス表からリスト形式の表に変換

【Excel】グラフの軸の「データのない日付」を非表示にする

【Excel】テーブルを使った集計方法





一覧ページへ

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