• ベストアンサー

エクセルマクロ

例えばA1セルに入力されている値を常にファイル名に して保存するということはマクロで可能でしょうか? A1セルの値は変化し、ファイル名は上書きしていくという かたちにしたいのですが。 という質問をさせて頂き回答も頂いて解決かと思ったのですが、回答していただいたマクロだと、A1セルの値がその前と同一の場合、ファイル削除のマクロが「パス名が無効です」というこでそれ以上動きません、たびたびすいませんが回答頂ければ幸いです

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

  • ベストアンサー
  • TTak
  • ベストアンサー率52% (206/389)
回答No.2

この質問は過去質問 http://oshiete1.goo.ne.jp/kotaeru.php3?q=794869 に関連しています。 #1の方の通りです。ファイル削除の部分に変更を加えました。また、エラー処理も付けます。 Sub THSFILE_SAVE() Dim myFname0 As String Dim myFname As String On Error GoTo ERRH myFname0 = ThisWorkbook.Name myFname = Sheets(1).Range("A1").Value ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & myFname '--ここから条件分岐 If myFname0 <> myFname & ".xls" Then  Kill ThisWorkbook.Path & "\" & myFname0 End If '--ここまで Exit Sub ERRH: End Sub

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=794869
fisherman2
質問者

お礼

たびたび申し訳ありません。 おかげで無事解決しました ありがとうございました。

その他の回答 (1)

  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.1

>A1セルの値がその前と同一の場合、ファイル削除のマクロが「パス名が無効です」というこでそれ以上動きません A1のセルの値とその前の値が同一ってことは、今開いているファイルがA1のセルの値と同じってことですよね? それなら (1)今開いているファイル名(ブック名)とA1のセルの値が同じかどうかを判断 (2)-1違う場合:ファイルをA1の値で保存後、保存前のファイルを削除 (2)-2同じ場合:そのまま上書き保存。保存前のファイルの削除はしない。 というのはどうでしょう? (というより質問を理解していなかったらごめんなさい(T T))

fisherman2
質問者

お礼

ありがとうございます。 確かに、それでできると思うのですが、変数が絡んだ その条件式がうまくできなかったもので。。。

関連するQ&A