- ベストアンサー
EXCELで日付を自動でファイル名にしたい
タイトル通りなのですが ファイル名を自動で日付にして保存するマクロ どうやればよいのでしょうか 私は記録したマクロを解説書を見ながら整理 するくらいのレベルです よろしくお願いします
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
マクロではなく、VBAになりますが、 例えば、2005年5月1日だったら、「20050501.xls」という、ファイル名にして保存することでよろしければ、次のようにすれば出来ます。 Sub 日付のファイル名() Dim a, b, c As String a = Application.WorksheetFunction.Text(Date, "yyyymmdd") b = "C:$" c = b & a & ".xls" ThisWorkbook.SaveAs (b) End Sub b は、実際に保存しようとする、フォルダー名を入れて下さい。 もし、2005年5月1日を「050501.xls」と、する場合は、 (Date, "yyyymmdd")を (Date, "yymmdd") とすれば、出来ます。
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
私は、サブルーチンも置かずに、一本で書いてしまったので、本当に汚いコードで自信がないけれど、1つの例として出しておきますね。これは、できれば、Personal.xls の標準モジュールで、ツールボタン登録がよいのではないかなって思いました。 Sub SaveWithTimeStamp() Dim fName As String Dim dFilePath As String Dim myPath As String Dim ans As Integer, rtn As String dFilePath = Application.DefaultFilePath & "\" fName = Format$(Date, "yymmdd") myPath = dFilePath & fName & ".xls" If Dir(myPath) = "" Then ActiveWorkbook.SaveAs fName Else ans = MsgBox(fName & " と同名のファイルがすでにあります." & Chr(13) & _ "上書きしますか?", vbYesNoCancel) If ans = vbYes Then Application.DisplayAlerts = False ActiveWorkbook.SaveAs myPath Application.DisplayAlerts = True ElseIf ans = vbNo Then fName = Application.InputBox("名前を変更してください." & Chr(13) _ & fName & ".xls", , fName, , , , , 2) If rtn <> "False" Then If InStr(fName, ".xls") = 0 Then fName = fName & ".xls" myPath = dFilePath & fName If Dir(myPath) = "" Then ActiveWorkbook.SaveAs myPath Else MsgBox fName & "が、同じフォルダにありますので、1度フォルダを調べてください.", 64 Exit Sub End If Else Exit Sub End If Else Exit Sub End If End If End Sub
お礼
ありがとうございます すごいですね! プリントして、よく勉強したいと思います。
- macchan1
- ベストアンサー率38% (52/136)
マクロの記録を利用されるなら、ひとまず適当な名前で「名前を付けて保存」したコードのファイル名の部分(XYZ.xlsの部分)を以下のように置換編集してください。 "・・・\・・・\XYZ.xls", を "・・・\・・・\" & Format(Date, "yymmdd"), にします
お礼
ありがとうございます
- a987654
- ベストアンサー率26% (112/415)
マクロで ActiveWorkbook.SaveAs Filename:="C:\My Documents\a.xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False "C:\My Documents\a.xls”のところに所要のパスとファイル名を入れれば okです。 通常の操作で出きることであれば、マクロ記録の機能を使うと、 わざわざ解りにくい解説書を読まなくてもマクロはつくれますよ。 逆に、マクロ記録で作っておいて後で解説書を見ながら蛇足な部分を削除する。 という方法を私は実行していますが...(参考までに)
お礼
ありがとうございます
お礼
ありがとうございます "yymmdd"の部分の書式を変えると H17.5.1にもなると解りました 助かりました。