マクロ初心者なので教えて頂けるとうれしいです。
保存先フォルダにファイル名を自動で名前をつけて保存させるところまでできたのですが、
保存先フォルダに同名フォルダがある場合に、
もともと指定しているファイル名のお尻に連番をつけていくようにしたいのですが・・・
例)
選択したシートをコピーして、
「A1+B1+見積書.xls」
という名前をつけて毎回保存していくのですが、
同名のファイルがある場合、
「A1+B1+見積書+1.xls」
「A1+B1+見積書+2.xls」
「A1+B1+見積書+3.xls」
…というふうにお尻に自動で連番をつけて
保存できるようにしたいのです。
宜しくお願い致します!
No.1
- 回答日時:
ファイルの存在は Dir関数でチェック可能です。
ソースがないので、文章の回答になりますが、
保存する前に Dir(FilePath)でファイル名が返ってくれば、既にファイルが存在するので、名前を変更(+1、+2・・・)していって、存在しないファイル名になるまで繰り返してから、ファイルを保存すればよいでしょう。
詳しくは、Dirのヘルプを参照ください。
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
お探しの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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセル:マクロ:保存時に連番をつける
Visual Basic(VBA)
-
ファイル名が同じ場合自動的に番号を付ける方法ありますか?
その他(データベース)
-
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
-
4
エクセル2019でPDFファイル名に枝番号をつけたい。 アクティブワークシートを印刷した後の処理とし
Excel(エクセル)
-
5
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
6
エクセル マクロ 名前を付けて保存 PDF保存先指定 ファイル名任意+日付
Excel(エクセル)
-
7
フォルダ名に番号を連番でつけたい
その他(プログラミング・Web制作)
-
8
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
9
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
10
エクセルをPDFで保存し、ファイル名はA1セルを参照するVBAの記述を教えてください。
Excel(エクセル)
-
11
VBAでPDFを作成する際、同じ名前のデータがすでにある時の対処法を教えてください。
Microsoft ASP
-
12
【VBA】PDF出力に任意のファイル名前を付ける方法
Excel(エクセル)
-
13
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
14
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
15
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
16
Excel VBA シート名変更時、重複していたら連番を付けたい
その他(Microsoft Office)
-
17
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
18
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
19
マクロ、PDFを任意のフォルダへ保存
Excel(エクセル)
-
20
エクセルVBAで一つ上の階層を指定して保存したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
エクセル文書を保存したらメモ...
-
マクロ VBA ファイル名を連番...
-
メール添付されているファイル...
-
いきなりPDFでPDFファイルを開...
-
エクセルでVBAを使用して1分毎...
-
開いてるファイル(エクセル等)...
-
OneDriveに保存したファイルは...
-
エクセル・マクロ(VBA)で、指定...
-
エクセルで保存の前に固まって...
-
Excelの読み取り専用について質...
-
csvファイルを上書き保存でカン...
-
エクセル表のCSV化ができない
-
「変更を保存しますか?」と聞...
-
エクセルの共有ファイルで、保...
-
マクロVBA特定フォルダーに次々...
-
Excel 2003の保存アイコンが消...
-
Excelで上書き保存時の確認をは...
-
メールソフト「サンダーバード...
-
エクセル 更新していないのに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
Excel画面の自動更新 Excelファ...
-
エクセル文書を保存したらメモ...
-
いきなりPDFでPDFファイルを開...
-
メール添付されているファイル...
-
エクセルでCSVファイルとして保...
-
エクセルでVBAを使用して1分毎...
-
ピボットテーブルの更新ができない
-
マクロ VBA ファイル名を連番...
-
開いてるファイル(エクセル等)...
-
OneDriveに保存したファイルは...
-
Illustratorファイルに読み取り...
-
エクセル・マクロ(VBA)で、指定...
-
「名前を付けて保存」ができな...
-
エクセルで作った書類の作成者...
-
エクセル表のCSV化ができない
-
セルの塗りつぶしの色を好きな...
-
「変更を保存しますか?」と聞...
-
エクセルがwindows終了時に未保...
-
エクセルで保存の前に固まって...
おすすめ情報