動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2506(ビルド18925.20168クイック実行)
「vba クリック した セル の 値 を 取得」
といった検索キーワードでアクセスがありました。
[スポンサードリンク]
クリックしたセルの値を取得するサンプルプロシージャ
クリックしたセルの値を取得したいワークシートで、以下のイベントプロシージャを作成してください。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
Dim var As Variant
var = Target.Value
Debug.Print var
クリックしたセルの値が、イミディエイトウィンドウに出力されます。
サンプルプロシージャで行っている処理
セルの値を取得しているのは、以下の部分です。
Dim var As Variant var = Target.Value
クリックされたセルを表すRange型の引数Targetから、
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range.Valueプロパティを使って値を取得して、変数varに代入しています。
イミディエイトウィンドウに出力するだけならば
ここでは、セルの値を取得していることを明確にするために、変数varに一旦代入していますが、クリックしたセルの値をイミディエイトウィンドウに出力するだけで良いのなら、以下の3行は、
Dim var As Variant var = Target.Value Debug.Print var
以下のように1行にしてしまってOKです。
Debug.Print Target.Value
セル範囲が選択されたときに実行時エラーにならないように
クリックするセルが1個だけならば、以下の形でOKなのですが、
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim var As Variant var = Target.Value Debug.Print var End Sub
セル範囲が選択されたときに実行時エラーが発生してしまうため、
If Target.Count <> 1 Then Exit Sub
と、「Target.Gounnt」でセルの個数を確認して、1個ではないときにイベントプロシージャを抜ける処理を事前に入れています。
最終更新日時:2025-07-30 11:31
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » VBAでクリックしたセルの値を取得する