Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel schließen ohne Speicher-Abfrage
#1
Hallo wertes Forum,

ich habe ein Problem beim Schließen von Excel.

Mein angehängter Code schließt eine Reihe von Dateien, die in einer zweiten Excel-Instanz geöffnet sind. Abschließend wird die Instanz geschlossen:
Code:
Application.DisplayAlerts = False
With wkbZMB52
    If .Parent.Workbooks.Count > 1 Then
        .Close savechanges:=False
    Else
        .Parent.Quit
    End If
End With

With wkbCOOISPIOrders
    If .Parent.Workbooks.Count > 1 Then
        .Close savechanges:=False
    Else
        .Parent.Quit
    End If
End With

With wkbCOOISPIComp
    If .Parent.Workbooks.Count > 1 Then
        .Close savechanges:=False
    Else
        .Parent.Quit
    End If
End With
Application.DisplayAlerts = True
Allerdings bekomme ich bei der Zeile .Parent.Quit immer die Abfrage, ob Änderungen in der Mappe gespeichert werden sollen.
Wie bekomme ich Excel ohne diese Meldung geschlossen?

Vielen Dank,
Lutz
Antworten Top
#2
Hallo

was passiert wenn du statt Quit den Befehl  Close mit savechanges:=False verwendest???  Einfach mal ausprobieren!   Würde mich freuen wenn es klappt.

mfg Gast 123
Antworten Top
#3
Hallo Gast 123,

bei
Code:
.Parent.Close savechanges:=False
kommt die Fehlermeldung, dass das Objekt die Methode nicht unterstützt.

Bei
Code:
.Close savechanges:=False
kommt die Meldung, dass sich Daten in der Zwischenablage befinden.
Anschließend bleibt ein leeres Excel stehen. Und genau das wollte ich ja mit meinem Vorgehen vermeiden.

Gruß,
Lutz
Antworten Top
#4
Hallo Lutz,

vielleicht so:

Code:
With wkbZMB52
    .Saved = True
    If .Parent.Workbooks.Count > 1 Then
        .Close
    Else
        .Parent.Quit
    End If
End With

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Lutz Fricke
Antworten Top
#5
Hallo Uwe,

manchmal ist die Welt so einfach...
Geht sogar ohne
Code:
Application.DisplayAlerts = False

Application.DisplayAlerts = True

Vielen Dank,
Lutz
Antworten Top
#6
Hallo zusammen,

war jetzt doch nicht ganz in Ordnung. Von Zeit zu Zeit hat der Code wegen einer gefüllten Zwischenablage gemeckert.
Habe dann die Zwischenablge vor dem Schließen geleert:
Code:
Public Declare Function OpenClipboard& Lib "user32" (ByVal hwnd As Long)
Public Declare Function EmptyClipboard Lib "user32" () As Long
Public Declare Function CloseClipboard& Lib "user32" ()
Code:
OpenClipboard 0&
EmptyClipboard
CloseClipboard
und jetzt scheint's zu laufen.

Gruß,
Lutz
Antworten Top
#7
Hallo Lutz,

vielleicht würde das schon reichen:

Code:
With wkbZMB52
        .Parent.CutCopyMode = False
        .Saved = True
        If .Parent.Workbooks.Count > 1 Then
            .Close
        Else
            .Parent.Quit
        End If
    End With

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Lutz Fricke
Antworten Top
#8
Hallo Uwe,

habe ich ohnehin schon nach jedem Kopiervorgang drin, aber hat nicht funktioniert.
Daher der aufwändige Weg.

Gruß,
Lutz
Antworten Top
#9
Hallo Lutz,

wie genau hast Du das schon drin?

Gruß Uwe
Antworten Top
#10
Code:
wksZMB52.UsedRange.Copy
With wksTWZMB52.Cells(1, 1)
    .PasteSpecial Paste:=xlPasteValues
    .PasteSpecial Paste:=xlPasteFormats
End With
Application.CutCopyMode = False
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste