 |
@シートをダブルクリックして、そのシートモジュールに左図のようなマクロを記述します
|
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
|
Worksheet_BeforeRightClick は、ワークシート上で 右クリック したときに発動する イベントプロシージャ です。Target
As Range
ユーザーが 右クリックしたセル(または範囲) を表します。
Cancel As Boolean
True に設定すると、右クリックメニュー(コンテキストメニュー)が表示されなくなります。(このコードでは使用していません) |
' 右クリックしたセルの範囲を塗りつぶし解除
On Error Resume Next ' 塗りつぶし解除中にエラーが発生しても無視する
|
On
Error Resume Next は、エラーが発生してもマクロを停止せずに次の処理を実行するための設定です。
セルが保護されていて変更できない場合や、エラーが発生する可能性がある状況でも、マクロが停止しないようにするために使用しています。 |
Target.Interior.ColorIndex = xlNone ' 塗りつぶし解除
|
Target は、右クリックされたセル(またはセル範囲) を指します。 Target.Interior.ColorIndex = xlNone
にすることで、セルの塗りつぶしを 解除 します。
ColorIndex は、Excel の カラーパレットのインデックス番号 です。
xlNone は、「塗りつぶしなし(透明)」 を意味します。 |
On Error GoTo 0 ' エラーハンドリングをリセット
End Sub
|
On
Error GoTo 0 にすることで、エラーハンドリングの設定を元に戻します。 これにより、以降の処理でエラーが発生した場合は
通常のエラーメッセージが表示されるようになります。 |
 |
A右クリックしたセルの塗りつぶしを解除できます
ショートカットメニューは表示されます。 |
 |
B選択したセル範囲を右クリックした場合は、それらのセルの塗りつぶしをまとめて解除できます
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
●A列のセルと同じ色で塗りつぶされているセルの個数を表示する、
ユーザー定義関数を作る動画です
|