• ベストアンサー

エクセル マクロ ダブルクリックのイベント

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As range) というマクロをしても動きません。どうしてでしょうか? 他のsheetchaneとかのマクロは動くのですが・・ (ダブルクリックしてもセルが入力可能な状態になるだけです)

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 最初に、イベントのコードが違っていませんか? × Private Sub Worksheet_BeforeDoubleClick(ByVal Target As range) ○ Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ダブルクリックは、セルに入力待ち状態にさせてしまうので、マクロが止まってしまいます。ですから、入力待ち状態を作らないように、Cancel = True をして、一旦、セルの入力待ち状態を解除してあげなくてはなりません。 例: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) MsgBox Format(Date, "yy/mm/dd") Cancel = True '入力待ちを解除 End Sub なお、通例、最後のほうに、入力待ち解除コードを置くことが多いようです。

hayakutabetai
質問者

お礼

ありがとうございます。 解決です。キャンセルのこと知らなかったので、 よかったです。

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

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

マクロが書かれているシートとダブルクリックしたシートは同じになっていますか? MsgBox "BeforeDoubleClick" とか書いてダブルクリックしても、メッセージボックスが表示されませんか? selectionChangeとかを使っていると、ダブルクリックしたことになる前に、 selectionChangeが起動してダブルクリックになりません。 そういう場合セルを移動しないでダブルクリックすると起動するはずです。 多分、そういうことではないでしょうか

hayakutabetai
質問者

お礼

そうなんですか。しらなかったです。 ありがとうございました。

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

関連するQ&A