
マクロ初心者なので教えて頂けるとうれしいです。
保存先フォルダにファイル名を自動で名前をつけて保存させるところまでできたのですが、
保存先フォルダに同名フォルダがある場合に、
もともと指定しているファイル名のお尻に連番をつけていくようにしたいのですが・・・
例)
選択したシートをコピーして、
「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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【マクロ】名前を保存する際に、同じファイルがあった場合に、メッセージを表示
Excel(エクセル)
-
エクセル:マクロ:保存時に連番をつける
Visual Basic(VBA)
-
マクロボタンを押すと、ファイル名を“日付(年月日)_文字.xlsx”にして指定ファイルに保存したいの
Excel(エクセル)
-
-
4
【VBA】マクロの入ったファイルと同じフォルダに,出力したファイルを保存するコードについて
Visual Basic(VBA)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
8
エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし
Excel(エクセル)
-
9
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
10
同じ名前のファイルの数を数える
Microsoft ASP
-
11
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
12
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
13
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
14
エクセルでマクロを作成してますが、バックスラッシュが入力出来ません。 設定方法等教えて頂けないでしょ
Excel(エクセル)
-
15
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
16
数式による空白を無視して最終行までコピーするマクロ
Excel(エクセル)
-
17
VBAでサーバー上のファイルを開く
Excel(エクセル)
-
18
会社のネットワーク上のファイルを開けない こんにちわ 今大変困ってます 会社のネットワーク上のファイ
Visual Basic(VBA)
-
19
エクセルvbaで、別シートの最下行にデータを取り込むコードを教えてください。
Visual Basic(VBA)
-
20
VBA 空白行に転記する
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
エクセルでCSVファイルとして保...
-
エクセル文書を保存したらメモ...
-
いきなりPDFでPDFファイルを開...
-
メール添付されているファイル...
-
エクセル2019でPDFファイル名に...
-
Excel2019とOneDriveでのサイン...
-
ピボットテーブルの更新ができない
-
エクセルでVBAを使用して1分毎...
-
「変更を保存しますか?」と聞...
-
マクロ VBA ファイル名を連番...
-
Excelで指定範囲だけを(.prn)保...
-
Excel画面の自動更新 Excelファ...
-
Excelでの最終更新時刻表示
-
エクセル 上書きしていないの...
-
メールソフト「サンダーバード...
-
エクセルがwindows終了時に未保...
-
マクロVBA特定フォルダーに次々...
-
「上書き保存」で一度警告を出...
-
複数のブックを上書き保存する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
いきなりPDFでPDFファイルを開...
-
エクセル文書を保存したらメモ...
-
エクセルでCSVファイルとして保...
-
メール添付されているファイル...
-
エクセルでVBAを使用して1分毎...
-
ピボットテーブルの更新ができない
-
エクセル・マクロ(VBA)で、指定...
-
EXCELで同一名のファイルがある...
-
Excel画面の自動更新 Excelファ...
-
エクセル 更新していないのに...
-
エクセル2007で互換モードで上...
-
Excelの読み取り専用について質...
-
Illustratorファイルに読み取り...
-
Excelでの最終更新時刻表示
-
「変更を保存しますか?」と聞...
-
マクロ VBA ファイル名を連番...
-
開いてるファイル(エクセル等)...
-
「上書き保存」で一度警告を出...
-
エクセル表のCSV化ができない
おすすめ情報