[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロを有効にしても一部のマクロが動かない』(なら)
はじめて質問します。よろしくお願いします。
Excel2003で作成したファイルで、開いた際に「マクロを有効にする」を選択しているのにもかかわらず、動くマクロと動かないマクロがあります。
動くマクロ…標準モジュールのマクロ(ボタンに登録したSudプロージャ、起動時のフォーム出現など)
動かないマクロ…各シートのマクロ(Worksheet_Activate、Worksheet_ChangeなどのPrivate Subプロージャ)
同時に開いているほかのファイルではこの現象は見られません。
どなたか考えられる原因などあれば教えてください。お願いします。
先ほど動くようになりました。
閉じる⇒「マクロを有効にする」を選択して開く
を繰り返していたところ動くようになりました。
そもそもの発生原因は分からないままですが。。。
ひとまずは解決してしまいました。
大変失礼しました。
下記のような事例です。
プロシージャ内で、
Application.EnableEvents = False
が実行されたあとにTrueに戻すことなく、
Exit Subなどでプロシージャを抜けてしまう書き方がされていませんか?
また、エラーなどでいったんマクロが停止するなどしませんでしたか?
Application.EnableEvents = True
が実行されずにマクロが終了してしまうと、
マクロのトリガーとなるイベントを拾わなくなってしまうので、
イベントマクロが動かなくなる場合は有ります。
標準モジュールに
Application.EnableEvents = True
を実行するプロシージャを作成しておいて、
そのような原因が思い当たるときに実行してみるとか。
(みやほりん)
たぶん、Application.EnableEvents がらみだと思うね。
(同時に開いている別ブックではOKというのが気になるけど)
ところで、状況の確認は、VBEでイミディエイトウインドウを表示して
?Application.EnableEvents と打ち込んでエンターをおすとTrue/Falseが表示されるし
Falseになった状態を復旧するには、プロシジャを用意しておかなくても
ここで Application.EnableEvents = True と打ち込んでエンターしてもいいね。
(ぶらっと)
>Application.EnableEvents = False >が実行されたあとにTrueに戻すことなく、
Application.EnableEvents = Trueで終わるマクロが正常に実行された後も
現象は改善しなかったため、今回のケースには当てはまらないようにも思います。
ただ現在は解消してしまったため同じ現象を再現できないので
また同様の問題が発生した際には確認してみます。
どうもありがとうございました。
ぶらっとさん。ありがとうございます。
>ところで、状況の確認は、VBEでイミディエイトウインドウを表示して
>?Application.EnableEvents と打ち込んでエンターをおすとTrue/Falseが表示されるし
とても勉強になりました。
今後活用していきます。どうもありがとうございました。
(なら)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.