2023年6月5日【ID:0】
メンバー限定
【ExcelVBA】ダブルクリックで塗りつぶしとリセットを繰り返す
シート上の特定のセル範囲をダブルクリックするだけで、セルの背景色を黄色(黄色の際はリセット)する方法について解説しています。
こちらの内容を応用することで、塗りつぶしではなく、文字を変更したりすることも可能です。
※完成例は記事の最後にて配布しております。
では、以下の範囲(B2~B11)に適用していきます。
特定のシート上をダブルクリックするとプログラムが実行するようにするには、該当するシートモジュール上にプログラムを記述する必要があります。
[開発]タブから[Visual Basic]を選択します。
表示されたVBE(プログラムを記述するウィンドウ)のプロジェクトから、該当するシートをダブルクリックし選択します。
※プロジェクトが表示されていない場合は、[表示]タブの[プロジェクト エクスプローラー]を選択すると表示されます。
上記の操作で表示したものはシートモジュールと呼ばれるもので、シート単位で管理されているプログラムを管理する場所になります。
シートモジュール上の[General]から[Worksheet]を選択します。
ここで表示された「Private Sub Worksheet_SelectionChange]というものは、該当するシート上の選択しているセルが変更された場合に実行される特殊な「イベントプロシージャ」と呼ばれるものになります。
今回はダブルクリックした際に実行するようにしたいため、こちらは使用しません。
「Private Sub Worksheet_SelectionChange]を表示させると、右上に「SelectionChange」と表示されるかと思います。
ここから「BeforeDoubleClick」を選択します。
上記の操作で表示された「Private Sub Worksheet_BeforeDoubleClick」が、セルをダブルクリックすると実行される特殊なイベントプロシージャになります。
今回はこちらを使用します。
先ほどの「Private Sub Worksheet_SelectionChange」は使用しないため、削除して問題ございません。
また「Private Sub Worksheet_BeforeDoubleClick」内に以下のように記述します。
※Option Explicitは必要に応じて削除しても問題ございません。
続きはIT予備メンバー限定です。
メンバー限定コンテンツになります。
IT予備メンバーページと連携することで内容を確認することができます。
メンバーとは
すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。
ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます