Supportnet Computer
Planet of Tech

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:

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

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

Antwort 4 von Beverly

Hi Simeon,

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 Sub

Bis später,
Karin

Antwort 5 von pnp

Einwandfrei :D

Viele Grüße und Danke
Simeno

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: