プロが教えるわが家の防犯対策術!

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

A 回答 (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

なお、通例、最後のほうに、入力待ち解除コードを置くことが多いようです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/08/07 21:31

マクロが書かれているシートとダブルクリックしたシートは同じになっていますか?


MsgBox "BeforeDoubleClick"

とか書いてダブルクリックしても、メッセージボックスが表示されませんか?

selectionChangeとかを使っていると、ダブルクリックしたことになる前に、
selectionChangeが起動してダブルクリックになりません。
そういう場合セルを移動しないでダブルクリックすると起動するはずです。
多分、そういうことではないでしょうか
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/08/07 21:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!