小技集

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



2025年2月21日【ID:0】

メンバー限定

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

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


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

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

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


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
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



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



サイト累計閲覧数

7675978

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

Excel完全制覇


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

【Outlook・Word】定型のあいさつ文を入力

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

【Excel】表の一番右側のデータを自動抽出

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

【Excel】各担当ごとにシートを分割

【ExcelVBA】表の絞り込みと並べ替えを一瞬でリセット

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

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

【Excel】FILTER関数で空白を空白のまま抽出する

【Excel】VLOOKUPで空白が「0」と表示されてしまう問題を一瞬で解決

【Excel】締め日を考慮した「請求月・支払月」を求める

【Excel】表のデザインを自動で作成する方法 2選

【Windows】読めない漢字を入力する

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

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

【Excel】日付の特殊なオートフィルの活用

【Excel】特定の項目が重複しているデータを削除

【Excel】VLOOKUP関数で時間を検索して抽出できない?

【ExcelVBA】データ登録フォームを開発する

【ExcelVBA】進捗を「完了」にすると同時に日付を自動入力

【Excel】覚えるべき「日付を求める関数」2選

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

【ExcelVBA】複数シートの表に一括反映

【Excel】散布図で値が重複する場合の対策

【Excel】条件付き書式でシートの比較





一覧ページへ

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