Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Programmabbruch bei Überspeichernabfrage verhindern

Gruppe

Speichern

Problem

Wenn ich eine Datei unter einem Namen speichern möchte, der schon vorhanden ist, fragt mich Excel, ob die Datei überschrieben werden soll. Beantworte ich diese Frage mit Ja, läuft das Programm anstandslos weiter, antworte ich mit nein, bricht es mit Laufzeitfehler 1004 ab. Wie kann ich das verhindern?

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: basMain

Sub Speichern()
   Dim sFile As String
   sFile = Range("A2").Value
   If Dir(sFile) <> "" Then
      If MsgBox( _
         prompt:="Datei existiert, überschreiben?", _
         Buttons:=vbQuestion + vbYesNo) = vbYes Then
         Application.DisplayAlerts = False
         ActiveWorkbook.SaveAs sFile
         Application.DisplayAlerts = True
      End If
   Else
      ActiveWorkbook.SaveAs sFile
   End If
End Sub