Supportnet / Forum / Tabellenkalkulation
Fehler beim Abbrechen vom automatischen Speichern bei Makro
Frage
Hallo,
habe das folgende Problem. Mein Makro soll die vorhandene Tabelle autom. unter einem vordefinierten Namen speichern.
Das ging auch problemlos, wenn ich die Meldungen nach dem Überschreiben mit dem Application.DisplayAlerts ausgeschaltet hatte. Aus Sicherheitsgründen soll jetzt jedoch nachgefragt werden, so dass man die Möglichkeit hat, noch einzugreifen, bevor man ausversehen die Datei überschreibt.
Wenn ich jedoch die Application.DisplayAlerts ausblende und dann in der darauffolgenden Meldung: (Ja / Nein / Abbrechen - Überschreiben) auf Abbrechen oder Nein gehe, geht Excel in den Debug Modus.
Wo liegt mein Fehler?
Viele Grüße und Danke
pnp
Sub Makro10()
Application.ScreenUpdating = False
Dim Datname
Sheets("-1-").Select
Datname = Cells(5, 1).Value
'Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
"c:\Home\ " & Datname & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
'Application.DisplayAlerts = True
Sheets("-2-").Select
Range("A9").Select
End Sub
Antwort 1 von Beverly
Hi,
versuche es nach diesem Prinzip:
Bis später,
Karin
versuche es nach diesem Prinzip:
Sub speichern_mit_abfrage()
Dim Fso
Dim strSpeichername As String
Dim strAbfrage As String
strSpeichername = Sheets("-1-").Cells(5, 1) & ".xls"
Set Fso = CreateObject("Scripting.FileSystemObject")
Application.DisplayAlerts = False
If Fso.fileexists("C:\Test\" & strSpeichername) Then
strAbfrage = MsgBox("Soll die vorhandene Arbeitsmappe " & strSpeichername & " überschrieben werden", vbYesNoCancel)
If strAbfrage = vbYes Then ThisWorkbook.Save
Else
ThisWorkbook.SaveAs "C:\Test\" & strSpeichername
End If
Application.DisplayAlerts = True
End Sub
Bis später,
Karin
Antwort 2 von pnp
Könnt dich knutschen
Funktioniert :D
Funktioniert :D
Antwort 3 von pnp
Hi,
hab jetzt doch noch einen Bug entdeckt.
Und zwar folgender Fall:
Ich arbeite mit der Excel Tabelle und speicher sie unter dem Namen 01 ab. Schließe sie danach.
Wenn ich dann wieder mit der Tabelle arbeite und sie wieder unter dem Namen 01 speichern möchte, kommt die Meldung, ob ich überschreiben möchte oder nicht. Wenn ich dann ja wähle, geht er in den Debug Modus und markiert ".... ThisWorkbook.Save"
Das kann doch sicher nur ein kleiner Fehler sein, komm aber nicht drauf. Kann da jemand weiterhelfen.
Viele Grüße
Simeon
hab jetzt doch noch einen Bug entdeckt.
Und zwar folgender Fall:
Ich arbeite mit der Excel Tabelle und speicher sie unter dem Namen 01 ab. Schließe sie danach.
Wenn ich dann wieder mit der Tabelle arbeite und sie wieder unter dem Namen 01 speichern möchte, kommt die Meldung, ob ich überschreiben möchte oder nicht. Wenn ich dann ja wähle, geht er in den Debug Modus und markiert ".... ThisWorkbook.Save"
Das kann doch sicher nur ein kleiner Fehler sein, komm aber nicht drauf. Kann da jemand weiterhelfen.
Viele Grüße
Simeon
Antwort 4 von Beverly
Hi Simeon,
versuche es so
Bis später,
Karin
versuche es so
Sub speichern_mit_abfrage()
Dim Fso
Dim strSpeichername As String
Dim strAbfrage As String
strSpeichername = Sheets("-1-").Cells(5, 1) & ".xls"
Set Fso = CreateObject("Scripting.FileSystemObject")
Application.DisplayAlerts = False
If Fso.fileexists("C:\Test\" & strSpeichername) Then
strAbfrage = MsgBox("Soll die vorhandene Arbeitsmappe " & strSpeichername & " überschrieben werden", vbYesNoCancel)
If strAbfrage = vbYes Then
If ThisWorkbook.Name = strSpeichername Then
ThisWorkbook.Save
Else
ThisWorkbook.SaveAs "C:\Test\" & strSpeichername
End If
End If
Else
ThisWorkbook.SaveAs "C:\Test\" & strSpeichername
End If
Application.DisplayAlerts = True
End SubBis später,
Karin
Antwort 5 von pnp
Einwandfrei :D
Viele Grüße und Danke
Simeno
Viele Grüße und Danke
Simeno

