Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » VBAでクリックしたセルの値を取得する

VBAでクリックしたセルの値を取得する

動作検証バージョン: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

End Sub

クリックしたセルの値が、イミディエイトウィンドウに出力されます。

サンプルプロシージャで行っている処理

セルの値を取得しているのは、以下の部分です。

 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でクリックしたセルの値を取得する

「イベントプロシージャ」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.