- 締切済み
【至急】 日付でファイル名を作成
EXCEL VBAを使って複数の日付を入れてファイル名を作成したいと思ってます。 例えば【11月29、30、12月1日.xls】という感じです。 A列 11月29日 11月30日 12月1日 ・ ・ A列に1個~5個の日付が入ります。 1個の場合も、2個の場合もあります。 同じ月は月を省略し、次が変わるときはその月も投入したいです。 日付をくっつける事が出来ません。 明日、仕事で使いたいので、出来れば早急に教えてください。 宜しくお願いします。 EXCEL2003を使用してます。 ほぼ初心者なので詳しく教えて頂けると助かります。 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 ベタなコードですがお試しください。 (1)A1以下の日付(シリアル値)を条件に沿って連結し、空白まで続けます。但し、日付エラーは考慮していません。 (2)日付入力したシートのシートタブ上で右クリック→コードの表示→以下のコードをVBE画面右欄に貼り付け、F5キー押下で同一フォルダ上にファイル作成します。 (3)マクロの削除は、貼り付けた内容をクリアして、VBEを終了して下さい。 Sub sample() With Range("A1") If .Value = "" Then Exit Sub flname = Format(.Value, "m月d日") i = 1: flg = 1 Do While .Offset(i).Value <> "" Select Case Month(.Offset(i - 1)) Case Month(.Offset(i)) If flg Then flname = Left(flname, Len(flname) - 1) & _ "、" & Format(.Offset(i), "d") flg = 0 Else flname = flname & "、" & Format(.Offset(i), "d") End If Case Else flname = flname & "、" & Format(.Offset(i), "m月d日") flg = 1 End Select i = i + 1 Loop End With Workbooks.Add Application.DisplayAlerts = False ActiveWorkbook.SaveAs flname & ".xls" ActiveWorkbook.Close End Sub
お礼
出来ました☆☆☆☆ ありがとございます。 急いでいたので助かりました。