- ベストアンサー
VBAのファイル参照について
- VBAのファイル参照についてエラーが発生しています。使用しているExcelは2007です。
- エラーメッセージ「実行時エラー '91'」や「実行時エラー '-2147417848 (80010108)'」が表示されます。
- また、マクロでスタック領域が不足しているダイアログが表示されたり、Excelが応答なしになったりします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>Openの方は余裕がありましたら、標準モジュールの方で処理をするように改善したいと思います。 >SheetChangeの方で何かお気づきの点がございましたらお教えいただければ幸いです。 #1です。Workbook_SheetChangeの中で、沢山のプロシージャを呼んで、(たぶん)複雑な処理をして、訳の分からないエラーに悩まされている様なので、イベントプロシージャをさっさと抜けて、別プロシージャで処理してみては如何という提案です。ご参考まで。
その他の回答 (1)
- mitarashi
- ベストアンサー率59% (574/965)
深く読んで無いですが、イベントマクロ中であまり複雑な処理をすると、トラブるのでは? Application.Ontimeを使って、イベントマクロから離れて小難しい処理に移る方法があるそうです。 聞きかじっただけで、さほど実用した訳ではありませんが、ご参考まで。 '☆Sheet1 Module Private Sub Worksheet_Change(ByVal Target As Range) Module1.setOnTime End Sub '小難しい処理 Public Sub ontimesub() MsgBox "Hello World!" End Sub '☆標準モジュール Module1 'クラスモジュール側でApplication.Ontimeが実行出来ないので仲立ちをする Sub setOnTime() Dim nextTriggerTime As Long nextTriggerTime = [now()+"00:00:00.10"] Application.OnTime nextTriggerTime, "onTimer" End Sub 'クラスモジュールの小難しい処理を実行 '標準モジュール側で処理しても勿論OK Sub onTimer() Sheet1.ontimesub End Sub
補足
ご回答ありがとうございます。 Openの方は余裕がありましたら、標準モジュールの方で処理をするように改善したいと思います。 SheetChangeの方で何かお気づきの点がございましたらお教えいただければ幸いです。
お礼
ご回答ありがとうございます。 Application.Ontimeを実装しようとしたら無限ループに入っていることに気づき、↓こちらのページを参照して解決できました。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1019464735