小技集

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



2026年1月2日【ID:0】

メンバー限定

【ExcelVBA】書類の確認と同時にロックする仕組み

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


以下の営業報告書には、「確認日」という項目とチェックボックスが用意されています。

このチェックボックスをチェックすることで、チェックボックスが「実行時の日付」に置き換わり、シートがロック(保護)され、そのシートの編集ができなくなります。

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

このように、書類の確認と同時にロック(保護)する仕組みの実現方法について紹介していきます。


1. 開発準備

今回は、予め用意したシート内の特定のチェックボックスをチェックすると同時に、そのシートをロック(保護)する仕組みを実現していきます。

チェックボックスは、[挿入]タブの[チェックボックス]を使用しており、チェックボックスが配置されたセルには、「FALSE」という値が入力されています。

チェックボックスをチェックすると、セルの値は「TRUE」に変わります。

このように指定したシートのセルの値が変わると同時に、シートをロック(保護)するなどと何かしらの処理を実行するには、「シートモジュール」「イベントプロシージャ」を活用します。
シートモジュールは、対象シートのタブ上で右クリックし、[コードの表示]を選択することで表示できます。

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

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

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

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

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


2. コードの記述

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


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

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




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

メンバーとは


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

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


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

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


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






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

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


- 人気の記事 -



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



サイト累計閲覧数

7841697

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

Excel完全制覇


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

【Excel】SORTBY関数で項目を好みの順番にする

【Excel】数式のセルを自動で色付け

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

【Excel】グラフにデータを瞬時に追加(離れている範囲でもOK)

【Excel】6桁の年月を簡単に入力

【Excel】指定したセル数までしか値を入力できない仕組み

【Excel】重複なしでコード単位の番号を割り当てる

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

【Excel】抽出元のデータへのハイパーリンクを作成

【Excel】抽出データの増減に合わせて罫線を自動設定

【Excel】表の中に集計行を瞬時に挿入

【Excel】SORT(BY)関数で複数列を基準にして並べ替える

【Excel】横方向の並べ替え

【Excel】条件付き書式で結合した見た目にする方法

【Excel】新関数で文字を抽出

【Excel】項目に合わせて自動入力切替

【Excel】キーボードのみでフィルター操作

【Excel】対象月の営業開始日(終了日)を求める

【ExcelVBA】削除したデータを別シートに記録

【Excel】期限が3日以内の未完了タスクを色付け

【Excel】重複入力できないリストを作成

【ExcelVBA】選択セルの列幅を自動調整

【Excel】達成すると山を登る!?目標シートの作成

【Excel】自動でグループ分け!FILTER関数×TEXTJOIN関数

【Excel】TRUEとFALSEを理解する





一覧ページへ

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