クリックされたセルの行列番号を取得するには?

Question 55.7 Excel VBA Borad (掲示板)より Previous Next
クリックした時、シート上のマウス座標を取得する方法はありませんか?
Answer   2002.10.29 もてもて
Visual Bacic Editor(マクロの画面) を開くと、プロジェクト エクスプローラ が表示されていると思います。 表示されていない場合は、ツールバーの{表示}- {プロジェクト エクスプローラ} で表示します。
その中に Sheet1、Sheet2・・・と表示されていますので、マクロを設定したいシートを選んでダブルクリックします。 そうすると左上のコンボボックスが {General} と表示されます。
[オブジェクト]ボックスと[プロシージャ]ボックス
それをドロップダウンで {Worksheet} に変更すると、右上のコンボボックスが {Selection Change} になると思います。
その状態で下記のマクロを組むと座標が変数に代入されます。 (変数の指定は標準モジュールに記述します。)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    My_Row = Target.Row
    My_Col = Target.Column
    test                            '座標取得後に起動したいマクロ名を記述
End Sub
(以降は標準モジュールに記述)
Public My_Row As Long '行の変数
Public My_Col As Integer '列の変数
Sub test()
    a$ = "行数 " & Str(My_Row) & ",列数 " & Str(My_Col)
    MsgBox a$, vbOKOnly
End Sub

 

Excel VBA Macro