• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【VBA】他のExcelを起動し、呼び出し元のExcelを閉じる)

【VBA】他のExcelを起動し、呼び出し元のExcelを閉じる

このQ&Aのポイント
  • VBA初心者の方がTEST1.xlsからTEST2.xlsを起動し、TEST1.xlsを閉じる方法についての質問です。
  • TEST1.xlsを実行すると、TEST2.xlsが起動されたかのようにしたい場合、VBAのマクロを使って実現することができます。
  • しかし、試行錯誤の結果、TEST2.xlsのマクロが無効になったり、TEST1.xlsが閉じなかったりする問題が発生しています。どなたか解決策を教えていただけると助かります。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

横から失礼します。 TEST1.xls 側で TEST2 の Auto_Open を実行し、UserForm は モードレスで開く と言うのはダメでしょうか? Excel2000で何度か試しましたところでは、失敗は無かったです。 (Excel97では使えないけど) 'TEST1側 Sub Auto_open() Dim wb As Workbook  Set wb = Workbooks.Open("C:\Test2.xls")  Application.Run wb.Name & "!Auto_Open"  ThisWorkbook.Close End Sub 'TEST2側 Sub auto_open()  UserForm1.Show vbModeless End Sub

funamin
質問者

お礼

ありがとうございます。解決する事が出来ました! 早々のご回答ありがとうございましたm(_ _)m

その他の回答 (1)

noname#19197
noname#19197
回答No.1

丸投げは規定違反になるので、 あなたの試行錯誤の成果を見せてください。 悪いところを指摘することはできます。

funamin
質問者

お礼

解決する事が出来ました。 質問の仕方等、勉強する事はまだまだ多そうです。 ありがとうございました。

funamin
質問者

補足

大変申し訳ありませんでした。 プログラムを記載します。 現在、下記のような手順のプログラムを作りたいと思っております。 ////////////////////////////////////////// TEST1.xlsを起動したら、TEST2.xlsを開き TEST2.xlsのマクロが実行される。 TEST2.xls起動後は、TEST1.xlsは閉じる ////////////////////////////////////////// TEST1.xls 起動時の処理 ==================== Public Sub auto_open() 'TEST2.xls起動 Workbooks.Open "C:\TEST2.xls" 'TEST1.xlsを閉じる ThisWorkbook.Close End Sub TEST2.xls 起動時の処理 ==================== Public Sub auto_open() 'ユーザフォームを表示 UserForm.Show End Sub ※ユーザフォームは、ボタンを一つだけ設置 そのボタンが押下されたら、エクセルアプリケーションを終了 TEST2.xls ユーザフォーム表示後、ボタン押下時処理 ==================== Private Sub CommandButton1_Click() Application.Quit End Sub ----------------------------- ご指摘をお願い致します。

関連するQ&A