ユーザーフォームを挿入でエクセル強制終了

このQ&Aのポイント
  • VBA初心者がユーザーフォームを作成する際にエクセルが強制終了してしまう問題
  • エクセル2000でユーザーフォームを挿入するとエクセルが終了してしまう問題が発生
  • ユーザーフォームを削除した後もエクセルが終了してしまう問題が続く
回答を見る
  • ベストアンサー

ユーザーフォームを挿入でエクセル強制終了

VBAを初めて、まだ1週間ほどの初心者です。 ユーザーフォームを作成して、シートを他のブックに保存して、 シートを印刷するマクロをボタンに割り当てて使用してました。 先日、ボタンをクリックした所、エクセルが強制終了してしまいました  その後、そのブックを開くと、また終了してしまい、一度ユーザーフォームを削除したら、終了しなくなったのですが、Visual Basicから挿入-ユーザーフォームを作成しようとすると、終了してしまいます。 どのブックでも同じ様になってしまいます。 エクセル2000を使用しています。 どの様に対処したらよいか、色々調べましたがまったくわからない状態です。 まだ初心者の為質問に必要な事が抜けているかも知れませんが、 ご存知の方、教えてください。

  • npx67
  • お礼率100% (1/1)

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

こんな文章だけ書いて、回答者が経験あっても、エラーの原因がわかると思うのが、プログラムのエラー探求の難しさを甘く見ているシルシです。質問者のコードなど読者には見れません。色々やって見ることも出来ません。質問は「エラーが出ました」とだけしか言ってないのです。冷たく言えば、自分で時間をかけて勉強してくださいとかエラー原因追求はとりあえずあきらめてください。 VBA初めて1週間の人のエラーに付き合ってはいれないというのが本音でしょう。簡単な初歩的な誤りもあることが考えられるからです。 ーー とはいっても困っているのでしょうから、 VBAコードの具体例が簡単で短いなら書けるようなら、補足に書いて見るとか。

npx67
質問者

お礼

御礼が遅くなってしまい申し訳ありませんでした。 御返答ありがとうございます。 おっしゃる通り、コードも書かずに質問してしまっては何をしてほしいのかもわからないですね。 強制終了してしまった時に、コードを削除してしまい、そのブックも削除してしまいました。 USBメモリーに残ってるはずなんですが、今、手元にない為 明日改めて、コードを載せます。 申し訳ありません。

関連するQ&A

  • エクセルのユーザーフォームについて

    エクセルのユーザーフォームについて教えてください。 ユーザーフォームにてメニュー画面を作成しました。 ユーザーはメニューからの操作だけでエクセルシートを作成できるようなマクロをつくりました。 ユーザーフォームのコマンドボタンでEXCELを終了させることはできますか? VBAの記述方法も教えてください。

  • エクセルVBA ユーザーフォームの終了について

    エクセルVBAでユーザーフォームを作成しています。 コマンドボタンにVBAマクロを割り当てしているのですが 思うように動いてくれないので質問します。 コマンドボタンをクリックしたら望む動作 1、ワークシートを選択 2、その後、ユーザーフォームを消す。 と言う動作にしたいのですが、2の ユーザーフォームを消す方法、書き方が分かりません どなたか教えていただけないでしょうか 1の動作は以下のように書いています。その後の書き方を お願いします。 Private Sub CommandButton8_Click() ブック名 = "VBA演習" シート名 = "sheet1" Workbooks(ブック名 & ".xls").Worksheets(シート名).Activate End Sub (ユーザーフォームの名前は"テストフォーム"としてます)

  • VBAでのユーザーフォームの使い方

    VBAのマクロでユーザフォームにボタンを配して、それによってエクセルシートのデータを更新するようなマクロを作りたいのですが、ユーザフォームの挿入でボタン配置まではできるのですけど、どのようにリンク付けするのかコーディング等、解りません。お教え下さい。簡単なサンプルコーディングがあれば助かります。

  • エクセルのユーザーフォームの作り方で

    エクセルのVBAの初歩的なことで教えてください。小学生の子供用の学習ソフトを試作しています。シート1を問題の表示画面とし、シート2に問題のデータを保存しています。学習者はシート1を見て、最初に名前や使った日をユーザーフォームに入力すると、そのデータがシート1の表示されていない下の方のセルに記録されるようにマクロを組んで作りました。そのユーザーフォームを、シート1に作ったコマンドボタン(テキストは「開始」としました)を押すと表示されるようにしたいのです。そのためのコマンドボタンをどのように作ればよいでしょうか。ユーザーフォームの方は、マクロを実行すれば立ち上がり正常に入力(登録)できます。VBAの本を読んで独学で勉強し始めたばかりですので、できればわかりやすく教えてください。

  • Excel ユーザーフォームの呼び出し方

    VBA の初心者です。 Excelで、ユーザーフォームを、ブックを開いたとき最初に画面に表れるようにするにはどうしたらよいのですか。教えて下さい。よろしくお願いします。

  • Excel2010 VBA終了時に強制終了する

    Excel2003、2007で実行した場合は正常終了するが Excel2010で実行するとVBA終了時に強制終了します。 処理は、マクロありブックからマクロなしブックを作成するために、 新規ブックを作成しマクロありブックからシートを移動する処理です。 VBA起動は、フォームコントロールから行っています。 VBA終了時に(End Sub)後にEXCELがなぜか強制終了します。 (Microsoft Excel は動作を停止しました。のメッセージが表示される) なお、 ・フォームコントロールから実行した場合はEXCELが強制終了し、   デバックモードで実行した場合は強制終了しません。  ・マクロありファイルの種類:Excel 97-2003ブック  ・★★★のソースが含まれていると、Excelが強制終了します。 以下、ソース。 Sub ファイル保存()   'マクロなしファイルを作成 CreateNoMacroBook End Sub '←ここで異常終了が発生する。 Sub CreateNoMacroBook() Dim fname As String Dim ns As Integer Dim cnt As Integer Dim i As Integer 'マクロありブックの名前を取得 fname = ActiveWorkbook.Name 'マクロありブックのシート数を取得 cnt = ActiveWorkbook.Worksheets.Count 'すべてのシートをMoveするとエラーになるのでシートを追加 Worksheets.Add After:=Worksheets(Worksheets.Count) '新規ブック作成時のデフォルトのシート数を保管 ns = Application.SheetsInNewWorkbook '新規ブック作成時のシート数を変更 Application.SheetsInNewWorkbook = 1 '新規ブック作成 Workbooks.Add '新規ブック作成時のデフォルトのシート数に戻す Application.SheetsInNewWorkbook = ns 'マクロありブックのシートを新規ブックの"Sheet1"シートの前に移動 For i = 1 To cnt Workbooks(fname).Worksheets(1).Move Before:=Workbooks(Workbooks.Count).Worksheets("Sheet1")  '★★★ Next i '表示用に新規ブックの一枚目のシートをアクティブにする Workbooks(Workbooks.Count).Worksheets(1).Activate Application.DisplayAlerts = False '新規ブックのデフォルトシート"Sheet1"を削除する Workbooks(Workbooks.Count).Worksheets("Sheet1").Delete Workbooks(Workbooks.Count).Activate Application.DisplayAlerts = True End Sub

  • EXCEL VBAでユーザーフォームを使ってデータを入力したい。

    EXCEL VBAでユーザーフォームを使ってデータを入力したいと思っています。(ユーザーフォームはできています。) 入力項目が4項目あります。 名前 作業コード 開始時間 終了時間 上記4項目と登録ボタンです。 sheet1にユーザーフォームを表示し sheet2の A1に名前 B1に作業コード C1に開始時間 D1に終了時間が 登録ボタンを押すごとに どんどんデータを記録していきたいのです。 VBA初心者ですのでコードがよくわかりません。 ご教授ください。よろしくお願いいたします。

  • Excel 閉じたユーザーフォームの再呼出し

    まいったまいった VBAの初心者です。 Excelでブックを開いたとき自動で呼び出したユーザーフォームを、いったん閉じてから、 もういちど編集のために VB Editoer に呼び出すにはどうしたらよいのでしょう。 教えて下さい。よろしくお願いします。

  • エクセルVBAのユーザーフォーム

    こんばんは、エクセルVBAでユーザーフォームを作成しました。 そこに入力したものがブックに反映するわけですが、フォームに0(ゼロ)を入力した場合、ブック上のセルを選択すると0と入っているのですが、表示されません。なぜでしょう???? これができないとせっかく時間をかけて作ったのに、使えません。どなたかご存知の方よろしくお願いします!!!!

  • ExcelVBAで、ユーザーフォームを新規Bookにコピーしたい

    シートをコピーして新規Bookで保存するマクロを作成しています。 このシートには「クリックするとユーザーフォームを開く」ボタンをつけているのですが、コピー先のBookにユーザーフォームをコピーすることができません。 (全て自動化したいので、両方のBookをVBEで開いてドラッグでコピーするようなことは考えていません。) 良い方法がありましたら、アドバイスください。 よろしくお願いします。

専門家に質問してみよう