
マクロ初心者なので教えて頂けるとうれしいです。
保存先フォルダにファイル名を自動で名前をつけて保存させるところまでできたのですが、
保存先フォルダに同名フォルダがある場合に、
もともと指定しているファイル名のお尻に連番をつけていくようにしたいのですが・・・
例)
選択したシートをコピーして、
「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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
ファイル名が同じ場合自動的に番号を付ける方法ありますか?
その他(データベース)
-
エクセル:マクロ:保存時に連番をつける
Visual Basic(VBA)
-
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
-
4
VBAでPDFを作成する際、同じ名前のデータがすでにある時の対処法を教えてください。
Microsoft ASP
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
7
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
8
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
9
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
10
エクセル マクロ 名前を付けて保存 PDF保存先指定 ファイル名任意+日付
Excel(エクセル)
-
11
日付を入力したセルをファイル名にして保存するには
Excel(エクセル)
-
12
エクセルをPDFで保存し、ファイル名はA1セルを参照するVBAの記述を教えてください。
Excel(エクセル)
-
13
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
14
エクセル マクロ オートフィルの終点の指定について
Excel(エクセル)
-
15
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
16
ファイル名を今日の日付、時刻で保存する
Visual Basic(VBA)
-
17
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
18
VBA 見つからなかった時の処理
Excel(エクセル)
-
19
Excel VBA シート名変更時、重複していたら連番を付けたい
その他(Microsoft Office)
-
20
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル文書を保存したらメモ...
-
メール添付されているファイル...
-
エクセル 更新していないのに...
-
エクセルを上書き保存したのに...
-
エクセルでセル値をファイル名...
-
開いてるファイル(エクセル等)...
-
Illustratorファイルに読み取り...
-
マクロ VBA ファイル名を連番...
-
Excel画面の自動更新 Excelファ...
-
エクセルで保存の前に固まって...
-
Excelのデーターが一瞬で消えた。
-
エクセルでVBAを使用して1分毎...
-
EXCELで同一名のファイルがある...
-
行と列を固定して表示するには
-
エクセルのデータをFDに直接...
-
エクセル・マクロ(VBA)で、指定...
-
ピボットテーブルの更新ができない
-
筆ぐるめの住所録をエクセルで...
-
「名前を付けて保存」ができな...
-
「上書き保存」で一度警告を出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルを上書き保存したのに...
-
エクセル文書を保存したらメモ...
-
エクセルでVBAを使用して1分毎...
-
OneDriveに保存したファイルは...
-
Excel画面の自動更新 Excelファ...
-
いきなりPDFでPDFファイルを開...
-
エクセルでCSVファイルとして保...
-
マクロ VBA ファイル名を連番...
-
エクセルで保存の前に固まって...
-
ピボットテーブルの更新ができない
-
メール添付されているファイル...
-
「名前を付けて保存」ができな...
-
開いてるファイル(エクセル等)...
-
マクロVBA特定フォルダーに次々...
-
エクセル表のCSV化ができない
-
Illustratorファイルに読み取り...
-
エクセル・マクロ(VBA)で、指定...
-
「変更を保存しますか?」と聞...
-
エクセルで作った書類の作成者...
-
CSVの上書き保存
おすすめ情報