Sub test() Application.DisplayAlerts = False With ActiveSheetThisWorkbook.SaveAs Filename:=.Range(\u0026quot;A1\u0026quot;).Value \u0026amp; \u0026quot;\\\u0026quot; \u0026amp; .Range(\u0026quot;A2\u0026quot;).Value End With Application.DisplayAlerts = True End Subこのコードをマクロボタンに登録すると、指定したフォルダ先に指定したファイル名で現状使用しているシートが名前を付けて保存されるのですが、同一のファイル名がある場合、上書き保存されてしまいます。もし同一のファイル名がある場合は、同一の物がありますが、上書きしても大丈夫ですかと聞かれるようなワンクッションが欲しいですあとマクロボタンを押した時に、保存完了しましたと表示されたいです

1件の回答

回答を書く

1292340

2026-02-15 09:55

+ フォロー

Sub test()

Dim fname As String

Dim ans As Long

Application.DisplayAlerts = False

With ActiveSheet

fname = .Range(\u0026quot;A1\u0026quot;).Value \u0026amp; \u0026quot;\\\u0026quot; \u0026amp; .Range(\u0026quot;A2\u0026quot;).Value

If Dir(fname) \u0026lt;\u0026gt; \u0026quot;\u0026quot; Then

ans = MsgBox(\u0026quot;同じ名前のファイルが存在しますが、上書き保存しますか?\u0026quot;, vbYesNo + vbQuestion, \u0026quot;確認\u0026quot;)

If ans = vbNo Then

MsgBox \u0026quot;処理を中断します\u0026quot;

Exit Sub

Else

ThisWorkbook.SaveAs FileName:=.Range(\u0026quot;A1\u0026quot;).Value \u0026amp; \u0026quot;\\\u0026quot; \u0026amp; .Range(\u0026quot;A2\u0026quot;).Value

MsgBox \u0026quot;保存完了しました\u0026quot;

End If

Else

ThisWorkbook.SaveAs FileName:=.Range(\u0026quot;A1\u0026quot;).Value \u0026amp; \u0026quot;\\\u0026quot; \u0026amp; .Range(\u0026quot;A2\u0026quot;).Value

MsgBox \u0026quot;保存完了しました\u0026quot;

End If

End With

Application.DisplayAlerts = True

End Sub

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有