※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。
2026年7月24日【ID:0】
メンバー限定
【ExcelVBA】チェックボックスを使って進捗をワンクリック更新
「着手したら進捗を"着手中"に変更し、完了したら"完了"に変更する。」
このようにタスクなどの進捗管理を行う場合、セルを編集して進捗を変更する手間が発生します。

※色付けは条件付き書式で行っています。
>条件付き書式で行全体を色付け
そこで今回は、予め用意したチェックボックスをクリックするだけで、
・(空欄) → 着手中(チェックボックスのチェック解除)
・着手中 → 完了
・完了 → (空欄)
と進捗が自動で更新される仕組みを実現していきます。

※こちらで作成したファイルは、記事の最後にて配布しています。
1. 開発準備
以下のシートを元に作成していきます。

チェックボックスは、[挿入]タブの[チェックボックス]から作成しています。

今回は、チェックボックスが配置されたセル(B3~B27)を操作すると同時に、処理(D列の進捗を更新)を実行する仕組みを実現します。
そのような、指定したセルを編集すると同時に何かしら処理を実行するには、シートモジュールのイベントプロシージャを活用します。
シートモジュールは、対象シートのタブ上で右クリックし、[コードの表示]を選択することで表示できます。

以下のエディタ画面(VBE)が立ち上がり、対象のシートモジュールが表示されます。

「Option Explicit」はVBEの設定によっては表示されません。「Option Explicit」についての解説はこちらでは省略します。
次に、セルを編集すると同時に処理が実行される特殊なプロシージャ(イベントプロシージャ)を用意する必要があります。
そのためには、シートモジュールの左上のリストから「Worksheet」を選択します。

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

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

表示された「Worksheet_Change」というイベントプロシージャを活用します。
「Worksheet_SelectionChange」は使用しないため、削除して問題ないです。

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

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



















































