Habe in einer Userform einen Button „Speichern“
(CommandButton4). Eigentlich funktioniert das speichern
einwandfrei bis auf die Problematik, dass wenn ein Dateiname
bereits existiert ein Fenster geöffnet wird auf welchem man
‚abbrechen‘ klicken kann. Durch dieses klicken stürzt die
Prozedur ab.
Weiss jemanand Bescheid wie der Code richtig aussehen muss?
Vielen Dank für Eure Hilfe
Michael
Private Sub CommandButton4_Click()
fileSaveName = Application.GetSaveAsFilename( _
fileFilter:=„Text Files (*.xls), *.xls“)
Select Case fileSaveName
Case False
Exit Sub
Case Else
woorkbook.SaveAs Filename:=fileSaveName
MsgBox "Daten wurden erfolgt gespeichert ",
vbInformation, „MALK MEDIZIN CONTROLLING AG“
End Select
End Sub
Hallo
Das Grundproblem besteht meines erachtens in SaveAs. existiert die Datei, so reicht save, existiert sie nicht, so kommt save as. Mache also eine Abfrage ob die Datei existiert.
Abfrage nach existierender Datei:
'Variablendeklaration
Public Const IniFileName As String = „import.ini“ 'Ini Dateinamen
Public Const IniFilePath As String = „C:“ 'Ini Datei Pfad
sub Abfrage()
'Fragt Datei ab ob sie Existiert
Set Fso = CreateObject(„Scripting.FileSystemObject“) 'Überprüft ob Inidatei vorhanden ist
If Fso.FileExists(IniFilePath & IniFileName) = False Then GoTo ErrorHandle2
…
exit sub 'Wichtig, vor Errorhandle exit sub!!!
ErrorHandle2: 'Ini Datei fehlt
MsgBox "Datei " & IniFileName & " wurde nicht gefunden oder existiert nicht. " & Chr(13) & „–> Programmabbruch“, vbCritical, „Programmabbruch“
Exit Sub 'Wichtig, nach jedem Errorhandle exit sub!!!
end sub
Weiter kannst Du das Abbrechereignis auch un die UserForm einbeziehen
Lege den Abbrechbuttom in der user form an. Beim Abbrechen
sub abbrechen()
activewoorkbook.quit false 'False für keine Meldung
'oder anstelle von quit close, dass weiss ich jetzt grad nicht.
end sub
Die Windowsmeldungen kann man auch noch ausschalten
mit application.alert = false, bzw. True
Grüsse
Sebastian