アプリ版:「スタンプのみでお礼する」機能のリリースについて

Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "イベント発生"
End Sub
このワークシートがアクティヴになってるときに手入力された場合以外、チェンジイベントを発生させなくするにはどのような方法があるでしょうか?
標準モジュール記載の他のマクロでセルが変更された場合を無視したいのです。
よろしくお願いします。

A 回答 (3件)

>このシートがActiveじゃなかったらExit Subする



If ActiveSheet.Name <> Me.Name Then Exit Sub

こういう事でよいのでしょうか?
    • good
    • 0
この回答へのお礼

はい、これが知りたかったのです。
ありがとうございました。

お礼日時:2005/11/08 14:25

こんな書き方もあります。



If Not ActiveSheet Is Me Then Exit Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
勉強になりました。

お礼日時:2005/11/08 14:34

標準モジュール記載の他のマクロの先頭に、


Application.EnableEvents = False
とするとイベント発生を無効に出来ます。
End Sub の前に
Application.EnableEvents = True
で元に戻します。
    • good
    • 0
この回答へのお礼

早速ありがとうございます。

標準モジュールがわではなく、
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "イベント発生"
End Sub
側に書き入れて無効にする方法はないでしょうか?
例えば、このシートがActiveじゃなかったらExit Subするとかの方法です。
(Activeであれば他のマクロからの変更でもイベントを発生させます)

お礼日時:2005/11/08 13:14

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