• ベストアンサー

VBAでどのような時に発生するのでしょうか?。

VBAでどのような時に発生するのでしょうか?。 「マクロの式またはVisualBasicコードで参照されている’***’フォームが見つかりません。」 どなたかご教授下さい。

  • ttgk
  • お礼率100% (38/38)

質問者が選んだベストアンサー

  • ベストアンサー
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.1

ExcelかAccessかわかりませんが、怒られている内容の通り、VBAまたはマクロで参照しているフォームが存在しない時のエラーです。 Accessであれば 「Forms!フォーム名」または「Forms.フォーム名」などでフォームを参照します。 また、サブフォームの場合は「Forms!フォーム名!サブフォーム名」または「Forms.フォーム名.サブフォーム名」で参照します。 恐らく参照式かフォーム名が間違っているか、参照するつもりでないが参照式を記述してしまっている箇所があるのだと思います。 あとはフォームもしくはリネーム(名前を変更)したけどソースの方を削除していなかったり、名前を以前のままにしていたりとか。

ttgk
質問者

お礼

どうもありがとうございました。 ご指摘頂いたとおり、コード内のフォーム名が間違っておりました。 (マクロの削除とは関係が無いようです)

ttgk
質問者

補足

メインとなるフォームをAccessを起動した時に表示したく、最終的には、ツール→起動時の設定からフォームを開く事が出来るようになりましたが、最初分からずに、マクロで、アプリケーションの実行→条件→ビルド→フォーム・・・から該当フォームの設定をしてしまいました。前述通り、最初のフォームが開くようになったので、次のフォームへ移動し、コマンド(印刷)ボタンを押すと、先程のエラーになってしまいました。マクロは全て削除してみたのですが、同エラーは出続けます。何か他に対処法はありますでしょうか?。

関連するQ&A

  • ExcelのVBAでRangeとCellsをWSHから使いたいのですが・・

    エクセルに書き込むマクロのコードを書いていたのですが、 Exl.range(Cells(1, 1), Cells(3, 4)).Font.Bold = True のような部分が、VisualBasic や OFFICEのVBA上で 参照設定でExcelを指定していると、動くのですが、 同じコードが、WSHでは参照設定ができないせいなのか、 動きません。WSHの場合、どのようにしたらよいのでしょうか。 よろしくお願いします。

  • サブフォームのコントロールの値を取得したい(VBA)

    連続投稿失礼します。 ファーム1のなかにサブフォーム(フォーム2)を設置しました。 フォーム2の中にはテキスト1があります。 VBAでテキスト1の値を取得したいのですがうまくいきません。 フォーム2を開いた状態で、 Sub test1() MsgBox Forms("フォーム2").Controls("テキスト1") End Sub を行なうと、 「あああ」 が返ってくるのですが、 フォーム2を閉じて、 フォーム1を開き、上のコードを実行すると、 「マクロの式、またはVisual Basicのコードで参照されている 'フォーム2'フォームが見つかりません。」 となってしまいます。 普段はフォーム2は閉じ、フォーム1を開いて使うため、 この状態でのVBAコードが知りたいです。 ちなみに変数を代入したいので 「Form_フォーム2.テキスト1」の書き方よりカッコでくくる書き方でご回答いただければ助かります。 よろしくお願いします。

  • 「フォーム マクロをVisualBasicに変換」

    アクセス2007でフォームを作りコマンドボタンを設置し コマンドボタンウィザードで 種類:アプリケーション ボタンの動作:アプリケーションの終了 をしました。 VBAの勉強中のためVBAコードを知りたいので 「フォーム マクロをVisualBasicに変換」を押しましたが 「マクロ[埋め込みマクロ]を開くことができません。継続しますか?」 と表示されてしまいます。 「はい」を押すと「変換が完了しました」と出ますが VBE画面を見ても変換されていません。 どうすればVBAコードに変換することができるのでしょうか?

  • 既存Excel VBAソフトがOffice2007でマクロエラーが発生

    初めて投稿させて頂きました。 Excel VBAで開発されたソフトの改造を行っているのですが、初めてのVBAで悪戦苦闘しております。 <開発環境> ・WindowsXP Pro SP3 ・Celeron 540(1.8GHz) ・メモリ1GB ・Microsoft Office2007 SP1 改造元ソフトはOffice2000で開発されており、Office2007で動作するとマクロエラーが発生する処理があります。 因みにまだソフト改造はしてなく、そのままOffice2007で動作させるだけでマクロエラーが発生します。 発生する箇所はVBAコードで定義されており、下記のマクロ実行時です。 Application.Run ("macro1") マクロエラーの内容は下記になります。 ------------------------------- マクロエラー [dbg.xls]マクロ(excel4.0)BV25 ------------------------------- この「macro1」はVBAのコードにはありません。 Excelの開発タブのマクロ一覧にはあります。 マクロ一覧で「macro1」を選択して、"編集"ボタンを押しても、マクロ一覧画面が消えるだけで何も表示されません。 この「macro1」がどこに定義されているか調べても全く判らず、ここで質問させて頂いた次第です。 Office2000やOffice2003ではマクロエラーが発生せずに正常に動作します。 Office2007のマクロセキュリティ設定を「すべてのマクロを有効にする」にしてます。 開発者向けのマクロ設定を「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」にチェックしても改善しません。 Office2000やOffice2003では動作しているので「macro1」はどこかに定義されているのだと思いますが、VBAコードにはありませんでした。 マクロ一覧にありますが、マクロ一覧の編集ボタンを押してもマクロが表示されません。 このマクロ「macro1」はどこで定義されているか、ご教授して頂けると助かります。 判りにくい説明で申し訳ありませんが、よろしくお願いします。

  • エクセル VBA dll 読み込み時のエラーです

    エクセルファイルを作成しました。 ボタンを押すとシートを選ぶような簡単なマクロが付随してます。 サーバーにアップロードする方法で 複数の人間が利用してデータを上書きするものです。 途中でマクロを実行する際に 「dll 読み込み時のエラーです」 と表示されるようになりました。 修正しても不定期で発生します。 VBA標準モジュールのファイルをクリックしても同様で マクロのコードが参照できません。 ファイルは重い為、圧縮と解凍を繰り返してます。 どのような原因があるのでしょうか。 エクセルもVBAも素人ですので わかりやすい解説をお願いします。

  • excel97のVBAについて

    始めまして、MV3307と申します。 さて下記内容を、VBAでコードを書くつもりですが、マクロ初心者で記載 方法が分からないので是非ご教授お願いいたします。     記 (1)EXCELの"Sheet1"の数式バーに式が表示してあります。 (2)VBAの"コマンドボタン"をクリックして、数式バーの式をTexBoxに取得する。 以上です、宜しくお願いします。    

  • エクセルVBAでVBAの修正は出来るのでしょうか?

    エクセルVBAでVBAの修正は出来るのでしょうか? あるエクセルファイルにマクロを組み込んでいます(ユーザーフォームも使用)。 このエクセルファイルを複数個フォルダ内にコピーしています。 このコピーした全てのファイルのマクロの修正をVBAで出来ないかと考えています。 修正箇所はモジュール内のコード修正、モジュールの追加、既存のユーザーフォームにボタン等の追加等です。 エクセルは2003を使用しています。 どなたか教えてください。

  • VBAでエクセルからエクセルのファイルを開くには?

    D:\に db1.mdb Book1.xls があります。 db1.mdbのフォームのコマンドボタンをクリックして Book1.xlsを開きたいのですが VBAコードをご教授いただけますか? (マクロではなくVBAコードが知りたいです) エクセルからエクセルのファイルを開くなら Workbooks.Open ファイルのフルパス で出来ました。 ご回答よろしくお願いします。

  • イベントが発生しません・・・

    Excel VBAでの質問です。 フォーム上にコントロールはTextBox1つしかありません。 商品コードを入力させ、入力値より商品データを検索、編集させようと思います。 コードを入力しエンターキーを押しても、フォーカスの移動場所が無いためかExitイベントが発生しません。 閉じるボタン[×]でフォームを閉じると、Exitイベントは発生するようです。 入力後はフォームは閉じてもかまいませんが、イベントを発生させることはできるでしょうか。 どなたか教えてください。

  • Excel VBAプログラム終了時に、

    Excel2016でVBAのプログラムを終了しようとすると、自動的にコードが書かれている画面に移ってしまいます。 ユーザーフォームを使用しているのですが、終了する際にそのフォームだけ消したいです。 プログラムにどうやって書けばいいでしょうか? ちなみに終了するときは「終了ボタン」を押してプログラムを終了させるようにしています。(画像参照)

専門家に質問してみよう