VBATips

ダブルクリックで行や列、セルを塗りつぶしする(BeforeDoubleClick)【ExcelVBA】

セルをダブルクリックでセル背景を塗りつぶししたい

エクセルで販売個数の一覧(売上一覧)を確認しながら、発注量を決める運用をしている
企業様も多いのではないでしょうか。

ダブルクリックで背景色を塗りつぶし、リストを作成できます。
BeforeDoubleClickを利用して、ダブルクリックで塗り潰しましょう。
特定のセルがダブルクリックされた場合に処理を実行する【BeforeDoubleClick】【ExcelVBA】

セルダブルクリックで背景を塗り潰しするサンプルコード

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
    '■該当セルの背景色を緑色(ColorIndex=4)に塗り潰し
    Cells(Target.Row, Target.Column).Interior.ColorIndex = 4
     
    '■該当行の背景色を赤色(ColorIndex=3)に塗り潰し
    Rows(Target.Row).Interior.ColorIndex = 3
     
    '■該当列の背景色を赤色(ColorIndex=3)に塗り潰し
    Columns(Target.Column).Interior.ColorIndex = 3
    
    '■Trueにするとダブルクリック(セルの編集状態)はキャンセルされます
    '■Falseにするとダブルクリック(セルの編集状態)になります
    Cancel = True
End Sub

今回はダブルクリックですが、シングルクリックで処理する事も可能です。
セルクリックした場合に処理を実行する【SelectionChange】【ExcelVBA】

注意事項

  • 標準モジュールでは動作しません。ワークシートモジュールに記載しましょう。

関連記事

特定のセルをクリックした場合に処理を実行する【SelectionChange】【ExcelVBA】
特定のセルをダブルクリックした場合に処理を実行する【BeforeDoubleClick】【ExcelVBA】
【VBA一覧】ColorIndex(文字色/背景色/見出し色)

コメント

タイトルとURLをコピーしました