
マクロ初心者なので教えて頂けるとうれしいです。
保存先フォルダにファイル名を自動で名前をつけて保存させるところまでできたのですが、
保存先フォルダに同名フォルダがある場合に、
もともと指定しているファイル名のお尻に連番をつけていくようにしたいのですが・・・
例)
選択したシートをコピーして、
「A1+B1+見積書.xls」
という名前をつけて毎回保存していくのですが、
同名のファイルがある場合、
「A1+B1+見積書+1.xls」
「A1+B1+見積書+2.xls」
「A1+B1+見積書+3.xls」
…というふうにお尻に自動で連番をつけて
保存できるようにしたいのです。
宜しくお願い致します!
No.2ベストアンサー
- 回答日時:
おしりに付ける数字が1桁では9までしか付けられません。
9のあと10にすることも出来ますが、ファイル名でソートしたとき
見づらいと思います。
そこで数字を3桁、001,002,003....と付けていく例です。
Sub sample()
Dim fCount As Integer
Const outPath As String = "c:\temp\"
Dim kFileName As String
kFileName = Cells(1, 1).Value & Cells(1, 2).Value & "見積書"
If Dir(outPath & kFileName & ".xls") = "" Then
ActiveWorkbook.SaveAs (outPath & kFileName & ".xls")
Else
For fCount = 1 To 999
If Dir(outPath & kFileName & Right("00" & CStr(fCount), 3) & ".xls") = "" Then
ActiveWorkbook.SaveAs (outPath & kFileName & Right("00" & CStr(fCount), 3) & ".xls")
Exit For
End If
If fCount = 999 Then
MsgBox ("連番をこれ以上付けることが出来ません。")
End
End If
Next
End If
End Sub
No.1
- 回答日時:
ファイルの存在は Dir関数でチェック可能です。
ソースがないので、文章の回答になりますが、
保存する前に Dir(FilePath)でファイル名が返ってくれば、既にファイルが存在するので、名前を変更(+1、+2・・・)していって、存在しないファイル名になるまで繰り返してから、ファイルを保存すればよいでしょう。
詳しくは、Dirのヘルプを参照ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ExcelVBA メモ帳を起動し名前を付けて指定フォルダに保存 2 2022/04/18 13:15
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Excel(エクセル) 【VBA】PDF出力に任意のファイル名前を付ける方法 3 2023/07/21 10:55
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/12 16:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- システム vba シートの追加について 2 2023/05/17 15:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
このQ&Aを見た人はこんなQ&Aも見ています
-
【マクロ】名前を保存する際に、同じファイルがあった場合に、メッセージを表示
Excel(エクセル)
-
エクセル:マクロ:保存時に連番をつける
Visual Basic(VBA)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
【VBA】マクロの入ったファイルと同じフォルダに,出力したファイルを保存するコードについて
Visual Basic(VBA)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
マクロボタンを押すと、ファイル名を“日付(年月日)_文字.xlsx”にして指定ファイルに保存したいの
Excel(エクセル)
-
7
エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし
Excel(エクセル)
-
8
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
9
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
10
マクロで空白セルを詰めて別シートに転記
Visual Basic(VBA)
-
11
【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい
Excel(エクセル)
-
12
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
13
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
14
同じ名前のファイルの数を数える
Microsoft ASP
-
15
VBAでシートコピー後、シート名が重複している時の処理
Access(アクセス)
-
16
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
17
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
18
VBAで、離れた複数の列に対して処理を施すには?
Visual Basic(VBA)
-
19
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
20
エクセルでマクロを作成してますが、バックスラッシュが入力出来ません。 設定方法等教えて頂けないでしょ
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
いきなりPDFでPDFファイルを開...
-
エクセルを上書き保存したのに...
-
メール添付されているファイル...
-
エクセル文書を保存したらメモ...
-
エクセルでVBAを使用して1分毎...
-
Excel画面の自動更新 Excelファ...
-
エクセルで作った書類の作成者...
-
Excel2019とOneDriveでのサイン...
-
EXCELで同一名のファイルがある...
-
Excelの読み取り専用について質...
-
エクセル 共有違反
-
複数のブックを上書き保存する...
-
OneDriveに保存したファイルは...
-
ピボットテーブルの更新ができない
-
excelとCSVについて質問です! ...
-
エクセルがwindows終了時に未保...
-
エクセルファイルも壊れやすい?
-
エクセルの名前を付けて保存に...
-
Illustratorファイルに読み取り...
-
セルの塗りつぶしの色を好きな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
いきなりPDFでPDFファイルを開...
-
エクセルでVBAを使用して1分毎...
-
エクセルでCSVファイルとして保...
-
メール添付されているファイル...
-
エクセル文書を保存したらメモ...
-
Excel画面の自動更新 Excelファ...
-
エクセル・マクロ(VBA)で、指定...
-
ピボットテーブルの更新ができない
-
「変更を保存しますか?」と聞...
-
EXCELで同一名のファイルがある...
-
Illustratorファイルに読み取り...
-
csvファイルを上書き保存でカン...
-
Excelの読み取り専用について質...
-
マクロ VBA ファイル名を連番...
-
Excel2019とOneDriveでのサイン...
-
エクセル 更新していないのに...
-
開いてるファイル(エクセル等)...
-
メールソフト「サンダーバード...
-
エクセルファイルに上書き保存...
おすすめ情報