- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA: UserForm.Show で実行時エラー)
Excel VBA: UserForm.Show で実行時エラー
このQ&Aのポイント
- ExcelのVBAを使用してUserFormを表示する際に実行時エラーが発生します。
- ExcelのVBEを使用してUserFormを表示すると正常に表示されますが、VBAから表示するとエラーが発生します。
- 回避策を知りたいです。OSはWindows XP SP2、Officeは2007です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 原因不明なエラーで悩んだときの最初のチェック項目は、「参照設定」 です。参照不可項目があるとき、無関係にみえる場所でもエラーが 発生しますので。 次に、根拠の薄い話。 まずは、確認済み事項から。 えーと、Office の VBA プロジェクトはコンパイルを重ねると序々に ファイルのサイズが肥大化します。例えば、モジュール内のプロシー シャを全て削除しても、逆にファイルサイズが増える場合があるという ことです。 # 確か、確認したのは Win98SE + Excel2002 環境だったかな ここからは、推測(私見)。 プロシージャを減らしたのに、ファイルサイズが肥大化するということ は、修正にともなう何らかの残骸が残る、例えば、コンパイル時に消去 されるべきものが消去されず、蓄積されていくというイメージですよね。 この現象については資料が見つからず、確かなことが私にはわかり ませんが、VBA プロジェクトの動作に何らかの悪影響を与える可能性は あるわけです。 したがって、私はある一定の作業量を超えたら、モジュールをエクス ポートし、再インポートのリフレッシュ作業を行います。 # つまり、コンパイラに問題があるのではないかと # ちなみに、VBA は純粋なインタプリタ言語ではありません # Pコードという中間言語にコンパイルされて実行されます 以上が私の私見&経験則。 # この話は数年前の経験に基づき書いてます。現在では # フィックスされていてのかもしれません。 長々書きましたが、次点のアドバイスとして再インポート^^;
お礼
ありがとうございます! 「参照」はややこしいので使っていませんでした (^^) 全エクスポート、新規ブック作成、再インポートでバッチリでした。 エラー番号でググったところ、過去に別のエクセルの別のウィジェットで同じ現象になって MS がフィックスしたそうです。 よってこの現象もそのうち対策されるでしょう。 ありがとうございました!