2024年12月13日【ID:0】
メンバー限定
【ExcelVBA】データを入力する度に自動で並べ替え
以下の表では、氏名を入力した後にクラスを入力するだけで、自動で該当するクラスの位置に移動するようになっています。

このような、特定の項目に値を入力すると同時に、その項目を基準に自動で並べ替えするという機能の開発方法について解説していきます。
※こちらで開発したファイルは記事の最後にて配布しています。
開発準備
「特定のセルに値を入力すると同時に、何かしら処理を実行する」という仕組みは、該当するシートモジュールのイベントプロシージャを活用することで実現できます。
シートモジュールは、該当するシートのタブ上で右クリックし、[コードの表示]を選択することで表示することができます。

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

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

次に、隣のリストから「Change」を選択します。

「Change」を選択すると表示される「Worksheet_Change」というプロシージャ内にコードを記述します。
他のプロシージャに関して、使用していない場合は削除して問題ないです。

コードの記述
以下のコードを記述します。
続きはIT予備メンバー限定です。
メンバー限定コンテンツになります。

IT予備メンバーページと連携することで内容を確認することができます。
メンバーとは
すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。
ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます