EXCEL VBAについて質問です。
初歩的なことかもしれないですがよろしくお願いいたします。

ファイルを指定のフォルダに保存したいのですが、
その際シートのA1にある日付をファイル名にして、そのファイル名と同じファイルが指定のフォルダに存在していないか確認して、存在していなければ保存。
存在していればメッセージを出し中断。
以上のようなものを作りたいのですがどのように組めばよいでしょうか?

日付は「yyyy\年mm\月dd\日aaaa」で指定したいと思います。



すみませんがよろしくお願いいたします。

A 回答 (3件)

> 日付は「yyyy\年mm\月dd\日aaaa」で指定したい


とありますが、この中の「\」の意味が分からないので無視しました。

myFile=A1セルの日付を"yyyy年mm月dd日aaaa"としたもの+".xlsm"とします。
myPath="指定フォルダのパス"+"\" とします。
条件分岐で、もし"指定フォルダのパス"にmyFileが存在しなければ
マクロを書いたブックのコピーを指定フォルダに保存します。
存在する場合は"同名ファイルが既に存在します!"と表示しマクロを終了します。

Sub test()
Dim myFile As String, myPath As String
myFile = Format(Range("A1").Value, "yyyy年mm月dd日aaaa") & ".xlsm"
myPath = "指定フォルダのパス" & "\"
If Dir(myPath & myFile) = "" Then
ThisWorkbook.SaveCopyAs myPath & myFile
Else
MsgBox "同名ファイルが既に存在します!", vbExclamation
End If
End Sub
    • good
    • 0
この回答へのお礼

回答遅くなりすみませんでした。

無事に解決することができました。
回答ありがとうございました。

お礼日時:2017/07/18 11:44

No,1です。


No.2の方の回答を拝見して
セルの式 ="C:\"&TEXT(A1,"yyyy\年mm\月dd\日aaaa")&"xlsm"
でパスとファイル名が決められますね。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

無事に解決できました。
ありがとうございます。

お礼日時:2017/07/18 11:43

どこか、空いているセルに


=TEXT(A1,"yyyy")&"\年"& TEXT(A1,"mm")&"月\"&TEXT(A1,"dd")&"日"&TEXT(A1,"aaaa")&".xlsx"
と関数で、ご希望のフォルダ、ファイル名のパスを表示させておいて

Sub ボタン1_Click()
ThisWorkbook.SaveAs Range("関数をいれたセル").Value
End Sub

を実行すれば
存在していなければ保存。
存在していればメッセージを出し中断。も含めて可能でしょう。

但し、この様な年、月ごとにフォルダ、日ごとにファイルが増えるような管理は通常いたしません。
>初歩的なことかもしれないです・・・・
エクセルを誤った使い方をしてしまう一例です。
お仕事であれば、上司の方か詳しい先輩に一度相談してみて下さい。
エクセルを活用する方法を学びましょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報