• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelvba_Loopが望まぬところにかかる2)

Excel VBAでマクロ処理をループさせた際、望まぬ場所にファイルが保存されてしまう現象の解決方法は?

このQ&Aのポイント
  • Excel VBAでマクロ処理をループさせた際に、指定したパスのフォルダのファイルにかけているつもりなのに、最初に取得したファイルがCドライブに保存され、そのファイルにループがかかってしまい、Cドライブにファイルが増える現象が発生しています。解決方法を教えてください。
  • Excel VBAのマクロ処理をループさせている際に、ファイルが予期しない場所に保存される現象が発生しています。具体的には、指定したフォルダのファイルを処理するつもりなのに、最初に取得したファイルがCドライブに保存され、それに対してループがかかるため、Cドライブにファイルが増えてしまうという問題です。この現象を解決する方法を教えてください。
  • Excel VBAでマクロ処理をループさせている際に、意図しない場所にファイルが保存される現象が発生しています。本来は指定したフォルダのファイルに処理をかけるはずなのに、最初に取得したファイルがCドライブに保存されてしまい、それに対してループがかかるため、Cドライブにファイルが増えていってしまいます。この問題を解決する方法を教えてください。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

Nextの場所が違うと思いますので、現状ではシートの数だけ同じファイルを保存しようとします。 For Each mySheet In myBook.Sheets 'シート内の全てのセルに対してループを実行します。 Set myRange = mySheet.UsedRange '***処理マクロ(フォント変更など)*** Next として 'Next myFile = Dir() の所のNextを無効にしてください。 NewName = "C:\Users\XXXXXX\Desktop\NEM_macro\"修正後" & "\" & ThisName & 年月 & ".xlsx" は NewName = "C:\Users\XXXXXX\Desktop\NEM_macro\修正後" & "\" & ThisName & 年月 & ".xlsx" ですね。 保存した後にファイルを閉じないと、どんどん開いたままになると思いますので、閉じたほうがいいのではないでしょうか。 ActiveWorkbook.SaveAs Filename:=NewName ActiveWorkbook.Close あとインデントしてないのでコードが見にくいです。 【解説つき】VBAでインデントするときのルール教えます【迷わない】 https://ziyuss.jp/vba-indent-rule/

joezen05
質問者

お礼

毎度毎度ありがとうございます。インデント、きれいに揃えます。いただいたアイデア反映で解決しました。ありがとうございました。