• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAを実行するとエクセルが落ちる)

VBAを使用してCSVデータをエクセルにまとめる方法

このQ&Aのポイント
  • VBAを使用して同一フォルダ内のCSVデータをエクセルのワークブックにまとめる方法を教えてください。
  • デバッグモードでは問題なく動作するVBAコードが、通常の実行ではエクセルが閉じてしまいます。原因が分からず困っています。
  • 使用している環境はWin7のOffice2013です。ご指摘いただけると助かります。

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

  • ベストアンサー
回答No.1

>ActiveWorkbook.Close False クローズするウィンドゥを「明示」してクローズする事。 FileA = "C:\Users\Public\Documents\01.csv" (略) ActiveWorkbook.Close False を FileA = "C:\Users\Public\Documents\01.csv" (略) Application.Windows("01.csv").Close SaveChanges:=False に変更。同様に FileB = "C:\Users\Public\Documents\02.csv" (略) ActiveWorkbook.Close False を FileB = "C:\Users\Public\Documents\02.csv" (略) Application.Windows("02.csv").Close SaveChanges:=False に変更。同様に FileC = "C:\Users\Public\Documents\03.csv" (略) ActiveWorkbook.Close False を FileC = "C:\Users\Public\Documents\03.csv" (略) Application.Windows("03.csv").Close SaveChanges:=False に変更。 ステップ実行ではなく、一気に実行すると「アクティブなワークブック」が「ThisWorkbook」のまま切り替わらないで「ActiveWorkbook.Close False」が実行されてしまう。 つまり「csvファイルでなく、自分自身が閉じられてしまう」事になる。 自分自身が閉じられれば、エクセルそのものも閉じられてしまうことになる。

40104
質問者

お礼

問題が解消されました 他の仕組みと競合しておりました ありがとうございました

40104
質問者

補足

ご回答ありがとうございます。 ご指摘いただいた箇所を修正してもまだ落ちてしまいます。 追加で Workbooks("test.xlsm").Activate Sheets("02").Select Sheets("02").Cells.Select とシートをアクティブにしても落ちる状態です。