たびたびお世話になります。
結構大きなフォームを作成して、ようやく開発が終了したのですが、ある時を境に急にフォームを表示しようとすると実行時エラーになります。
Microsoft Visual Basic
-------------------------------------------------------------
実行時エラー'-2147417848 (80010108)':
'Value' メソッドは失敗しました 'IMdcOptionButton'オブジェクト
このあと、ご迷惑をおかけします、現象を Microsoft に報告しますというメッセージが出ます。
いつもメッセージは一緒です。
不思議なことに、Excel を起動し、Alt+11 で VBE を起動し、フォームを開発用に開き、再生ボタンをクリックしてフォームを表示させると、無事表示されます。
一度無事に表示されると、いつもやっているようにマクロから Show で表示しても表示されます。
これも必ず再現されます。
どうすれば回避できるでしょうか。
何かわかればよろしくお願いします。
OS は Windows XP SP2、
Office は 2007 (12.0.6331,5000) SP1 MSO (12.0.6333.5000) です。
ここまで苦労して開発してテストして、さっき顧客にできたからいまから送ると言ったのに泣きそうです :-(
No.1ベストアンサー
- 回答日時:
こんにちは。
原因不明なエラーで悩んだときの最初のチェック項目は、「参照設定」
です。参照不可項目があるとき、無関係にみえる場所でもエラーが
発生しますので。
次に、根拠の薄い話。
まずは、確認済み事項から。
えーと、Office の VBA プロジェクトはコンパイルを重ねると序々に
ファイルのサイズが肥大化します。例えば、モジュール内のプロシー
シャを全て削除しても、逆にファイルサイズが増える場合があるという
ことです。
# 確か、確認したのは Win98SE + Excel2002 環境だったかな
ここからは、推測(私見)。
プロシージャを減らしたのに、ファイルサイズが肥大化するということ
は、修正にともなう何らかの残骸が残る、例えば、コンパイル時に消去
されるべきものが消去されず、蓄積されていくというイメージですよね。
この現象については資料が見つからず、確かなことが私にはわかり
ませんが、VBA プロジェクトの動作に何らかの悪影響を与える可能性は
あるわけです。
したがって、私はある一定の作業量を超えたら、モジュールをエクス
ポートし、再インポートのリフレッシュ作業を行います。
# つまり、コンパイラに問題があるのではないかと
# ちなみに、VBA は純粋なインタプリタ言語ではありません
# Pコードという中間言語にコンパイルされて実行されます
以上が私の私見&経験則。
# この話は数年前の経験に基づき書いてます。現在では
# フィックスされていてのかもしれません。
長々書きましたが、次点のアドバイスとして再インポート^^;
ありがとうございます!
「参照」はややこしいので使っていませんでした (^^)
全エクスポート、新規ブック作成、再インポートでバッチリでした。
エラー番号でググったところ、過去に別のエクセルの別のウィジェットで同じ現象になって MS がフィックスしたそうです。
よってこの現象もそのうち対策されるでしょう。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel起動時にエラーダイアログが表示される 3 2022/07/28 19:52
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) エラー処理 3 2022/04/11 14:58
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
UserForm1.Showでエラーになります。
工学
-
エクセルVBA フォームShowでオートメーションエラー
Excel(エクセル)
-
ユーザフォーム開くとエラーになる
Excel(エクセル)
-
-
4
UserForm1.Showでエラーになります。1
工学
-
5
VBA Find でオートメーションエラー(エラー440)が出ました
Visual Basic(VBA)
-
6
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
7
実行エラー'424' ????
Excel(エクセル)
-
8
EXCEL VBA UserFormで困っています。
Excel(エクセル)
-
9
エクセルVBA フォームを開く時パスが見つからない
Visual Basic(VBA)
-
10
Excelマクロのオートメーションエラーについて
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
End Sub が必要です。
-
Excel VABについて 下記記述が...
-
typedef による2重定義
-
C2065: 'EnumDisplayDevices' :...
-
intel fortranのエラーで困って...
-
43:syntax error at end of input
-
pythonの条件分岐(if)
-
Excel・Word リサーチ機能を無...
-
UserForm1.Showでエラーになり...
-
Excel マクロ VBA プロシー...
-
合計3TBのデータのハッシュ値を...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
メッセージボックスのOKボタ...
-
配列数式の解除
-
VBAでfunctionを利用しようとし...
-
教えて下さい
-
マクロの連続実行
-
一つのTeratermのマクロで複数...
-
TERA TERMを隠す方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
End Sub が必要です。
-
pythonの条件分岐(if)
-
Excel VABについて 下記記述が...
-
43:syntax error at end of input
-
フォートランのエラーについて...
-
intel fortranのエラーで困って...
-
他クラスからForm1内コントロル...
-
Excel VBA: UserForm.Show で実...
-
AccessVBAでVLookupを使いたい
-
対応する関数ヘッダーがありません
-
VB2005でOCXを動的に呼び出すに...
-
C# IEnumerable が IEnumerable...
-
ラズパイ上の、pythonのエラー...
-
コンパイルで未定義のシンボル
-
select関数の使用方法について
-
HEW3とBorlandC++でクラス定義...
-
構造体のポインタ参照
-
VB.NETのStructureの使い方を教...
-
waveOutProc関数での定義
-
フォートラン(fortran)のエラー...
おすすめ情報