特定の列のセルをダブルクリックしたら、「○」を入力するイベントマクロ

1 機能

 特定の列のセルをダブルクリックしたときに、「○」を入力するイベントマクロ

 

2 方針

 シートモジュールにイベントマクロを記述する。ダブルクリックしたのが特定の列かどうかを判定する方法が複数ある。ダブルクリックなので、セル範囲を考慮する必要はない前提。A列かどうかは「target.column=1」、NOT(intercept(target,columns(1))=nothing)、NOT(intercept(target,columns("A"))=nothing)、NOT(intercept(target,range("A:A"))=nothing)、「Split(tartget.address,"$")(1)=”A”」、などが考えられる。

 列名を”A”などと、直接アドレスの列名を書ければ、”P”列とか、”AU"列を増やそうとしたときに何列目か数えなくて良いから分かりやすい。わかりやすさを重視して、速度が遅いがセルアドレスを$でsplitすることにする。ただし、速度は遅い。

 

3 コード

たとえば、A列、I列をダブルクリックしたときに「○」埋めするコード。

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Select Case Split(Target.Address, "$")(1)
        Case "A", "I"
            Target.Value = "○"
    End Select
End Sub    
    

 4 参考

Split(Target.Address, "$")(1) は遅いとのこと。

www.excel-chunchun.com