VBATips

ダブルクリックでセル値を変更する(BeforeDoubleClick)【ExcelVBA】

セルをダブルクリックでセル値を変更したい

セルをダブルクリックした際にマクロ起動させるなど、セルを契機にする場合もあります。
その場合、マクロが実施されたのか?実施中なのかを判断するためにセル値を変更します。

セルをダブルクリックでセル値を変更するサンプルコード

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
    '■targetの値を判断し、ON/OFFを入れ替える
    Select Case Target.Value
        Case "ON"
            Target.Value = "OFF"
        Case "OFF"
            Target.Value = "ON"
    End Select
     
    '■Trueにするとダブルクリック(セルの編集状態)はキャンセルされます
    '■Falseにするとダブルクリック(セルの編集状態)になります
    Cancel = True
End Sub

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

注意事項

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

関連記事

コメント

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