• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELVBAのイベントプロシージャ)

EXCELVBAのイベントプロシージャとは?

このQ&Aのポイント
  • EXCELのVBAでダブルクリックイベントプロシージャについて質問です。
  • 要約文としては、EXCELのVBAにおいてダブルクリックイベントプロシージャを使用して、特定の値を他のプロシージャで利用する方法について解説しています。
  • EXCELのVBAにおいてダブルクリックイベントの値を他のプロシージャで使用する方法についての質問です。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

たとえば Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Call test(Target) End Sub Private Sub test(ByVal Myhonyahonya As Range) Debug.Print Myhonyahonya.Address End Sub こんな感じでTargetの値をtestプロシージャでMyhonyahonyaという変数で利用できます。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>その値は他のプロシージャに渡す方法がわかりません。 他のプロシジャを例えばModule1に用意してあるなら シートモジュール: private sub Worksheet_BeforeDoubleClick(byval Target as range, Cancel as boolean)  if application.intersect(target, range("A:A")) is nothing then exit sub  module1.macro1 target.value  cancel = true end sub Modlue1: sub macro1(byval a as variant)  msgbox a end sub 値を渡したいなら、その通り値を渡すだけです。

すると、全ての回答が全文表示されます。
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

おまけ Private Sub test(ByVal Myhonyahonya As Range) 以外に Private Sub test(ByRef Myhonyahonya As Range) とすることもできますが、後者の場合test内でMyhonyahonyaの値を変更すると、呼び出した側のTargetの値も変更されてしまいますから、注意して(理解して)使わないと、呼び出した側に帰ってきたときにTargetを元に動作を決定しているようなことがあると、意図しない動作(今回の場合だとダブルクリックしたときのセルがTargetですが、test内でMyhonyahonyaを変更してたら別のセルがTargetになってしまいます)をまねくことにもなります。

すると、全ての回答が全文表示されます。

関連するQ&A