In einer UserForm möchte ich die Möglichkeit einbauen, über einen Button eine Datei unter einem anderen Namen zu speichern. Der Name wird inkrementell immer um 1 erhöht (als Vorschlag). Das klappt mit der unten stehenden Methode auch ganz gut.
Bei Abbruch oder leerem Wert passiert wie gewünscht gar nichts. Wenn man aber nun eine Datei auswählt, die bereits vorhanden ist und in der anschließenden Abfrage "Soll die Datei ersetzt werden" mit Abbrechen oder Nein antwortet, dann erscheint die Fehlermeldung 1004 für die Methode SaveAs.
Wie kann ich diesen Fehler abfangen, so dass in diesem Fall ebenfalls gar nichts passiert? In der Variablen fName steht noch die ausgewählte Datei, eine Abfrage müsste also nachher erfolgen? Als Notanker gibt es ja On Error, aber vielleicht kennt jemand eine elegantere Lösung?
Vielen Dank und nächtliche Grüße
Michael
Private Sub SvScenario_Click()
Dim LfdNr As Integer
InstallRootPath = Sheets("GeneralSettings").Range("B9")
NwName = Sheets("GeneralSettings").Range("B26")
ChDir InstallRootPath + "\MyScenarios"
'Lfd. Nummer über Anzahl Excel-Files bestimmen
Set fs = Application.FileSearch
With fs
.LookIn = InstallRootPath + "\MyScenarios"
.Filename = "*" + NwName + "*.xls"
.Execute
LfdNr = .FoundFiles.Count
End With
fName = Application.GetSaveAsFilename("MyScenario_" + NwName + "_" + CStr(Date$) + "_" + CStr(LfdNr + 1) + ".xls", _
fileFilter:="Excel Files (*.xls), *.xls", Title:="Save Scenario As ...")
If fName <> "" And fName <> False Then
ActiveWorkbook.SaveAs Filename:=fName
End If
End Sub