小技集

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



2025年5月16日【ID:0】

メンバー限定

【ExcelVBA】入力と同時に値を上に詰める

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


セルに値を入力すると同時に、値を自動で上に詰める仕組みの実現方法について紹介していきます。

また、今回の仕組みでは、表の途中の値を削除した際にも、値が自動で上に詰められます。

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


1. 開発準備

こちらでは、以下のような「氏名」を入力する1列の表を活用します。

そして、「この表に新規で値を入力した時や、値を削除した時に、表の値を上に詰める」という仕組みを実装していきます。

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

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

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

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

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

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


2. コードの記述

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


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

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




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

メンバーとは


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

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


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

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


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






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

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


- 人気の記事 -



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



サイト累計閲覧数

8144216

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

Excel完全制覇


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

【Excel】同じセル内の複数の値を集計

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

【Excel】更新不要!商品ごとの最新価格を数式で自動抽出

【Excel】重複データを除いた一覧表を作成

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

【Excel】IFS関数で「その他」を表現

【Excel】テスト用の数値データを瞬時に入力

【Excel】数式のみで複数の表を縦に並べる

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

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

【ExcelVBA】差し込みで複数のPDFファイルを自動生成

【ExcelVBA】クリック操作だけで数量を入力

【Excel】特定の文字を一括で色付けする方法 2選

【Excel】ピボットテーブルで詳細確認

【ExcelVBA】瞬時にフィルターで絞り込み

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

【ExcelVBA】人数分の招待状を自動で印刷

【Excel】複数シートの表を数式で1つにまとめる

【Excel】表の途中に行を一瞬で挿入

【Excel】指定の倍数で金額を求める(時間にも活用できる)

【Excel】項目を瞬時に選択するリンクを作成

【Excel】軸の異なる表を瞬時に作成

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

【Excel】完全一致のデータを自動で色付け

【Excel】必要な範囲以外を非表示にする





一覧ページへ

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