MW211 EXIT

devlog
ExcelVBA/セル選択イベントを一つのセルで
2018年07月02日
セル選択に伴いイベントを駆動するには以下のような形になる。
┌──────────────────────────────────────┐
│Private Sub Worksheet_SelectionChange(ByVal Target As Range)                │
│    If Target.Column = 対象列番号 Then                                      │
│        Call イベント                                                       │
│    End If                                                                  │
│End Sub                                                                     │
└──────────────────────────────────────┘

但し「Target」はセル範囲なので、一つのセルとは限らない。

セルが一つの場合に限定するには、「.CountLarge」の値を見る。
┌──────────────────────────────────────┐
│Private Sub Worksheet_SelectionChange(ByVal Target As Range)                │
│    If Target.CountLarge <> 1 Then                                          │
│        Exit Sub                                                            │
│    End If                                                                  │
│    If Target.Column = 対象列番号 Then                                      │
│        Call イベント                                                       │
│    End If                                                                  │
│End Sub                                                                     │
└──────────────────────────────────────┘
なお、旧バージョン(.xls)では「.Count」というのがあったが
新バージョン(.xlsm)対応の「.CountLarge」を使った方がよい。
(さもないとず~っと右端のセルを選択した場合にはオーバフローでエラーとなる)
分類:ExcelVBA