ich habe eine bescheidene frage: ich habe ein
Sub Workbook_Close()
MsgBox ("Es sind noch " & Range("J4136").Value & " Zeilen unbearbeitet")
End Sub
aber das geht bei mir nicht???
kann mir jemand helfen???
danke schön...
Sub Workbook_Close()
MsgBox ("Es sind noch " & Range("J4136").Value & " Zeilen unbearbeitet")
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "blah, blah"
Cancel = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Worksheets("Tabelle1").Range("J4136") = "" Then
MsgBox ("Es ist noch kein Eingabe in J4136 vorgenommen")
Cancel = True
End If
End Sub
Um die Workbook_Close()
-Funktion korrekt zu verwenden, solltest Du folgende Schritte befolgen:
Öffne Deine Excel-Datei und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Navigiere im Projekt-Explorer zu DieseArbeitsmappe.
Füge den folgenden Code in das Fenster ein:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "Es sind noch " & Range("J4136").Value & " Zeilen unbearbeitet."
End Sub
Achte darauf, dass Du den Code nicht in ein Modul, sondern direkt in DieseArbeitsmappe einfügst.
Schließe den VBA-Editor und teste die Funktion, indem Du die Arbeitsmappe schließt.
Fehler: "Funktion wird nicht ausgeführt"
Stelle sicher, dass die Private Sub
-Deklaration korrekt ist und dass sich der Code im Modul DieseArbeitsmappe befindet.
Fehler: Meldung zeigt falsche Werte
Überprüfe, ob die Zelle J4136
tatsächlich die erwarteten Daten enthält. Möglicherweise ist sie leer oder enthält einen unerwarteten Wert.
Fehler: Datei wird nicht geschlossen
Wenn Du Cancel = True
verwendest, wird die Schließung der Datei abgebrochen. Stelle sicher, dass Du diese Zeile nur verwendest, wenn es notwendig ist.
Wenn Du eine einfache Meldung beim Schließen der Arbeitsmappe ohne eine Abbruchfunktion möchtest, kannst Du auch die folgende Methode verwenden:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "Die Datei wird jetzt geschlossen."
End Sub
In diesem Fall wird die Datei immer geschlossen, unabhängig von den Zellenwerten.
Hier sind einige Beispiele, die Dir helfen können, die Funktionalität zu verstehen:
Zähler für unbearbeitete Zeilen:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Range("J4136").Value > 0 Then
MsgBox "Es sind noch " & Range("J4136").Value & " Zeilen unbearbeitet."
End If
End Sub
Überprüfung auf leere Zellen:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If IsEmpty(Range("J4136").Value) Then
MsgBox "Die Eingabe in J4136 fehlt."
Cancel = True
End If
End Sub
Workbook_BeforeClose
-Subroutine statt Workbook_Close
, da sie die Möglichkeit bietet, das Schließen der Arbeitsmappe zu steuern.1. Kann ich die Workbook_Close()
-Funktion in Excel 2016 verwenden?
Ja, diese Funktion ist in Excel 2016 und allen neueren Versionen verfügbar.
2. Was ist der Unterschied zwischen Workbook_Close()
und Workbook_BeforeClose()
?
Workbook_BeforeClose()
erlaubt es Dir, die Schließung der Arbeitsmappe zu steuern. Workbook_Close()
wird aufgerufen, nachdem die Arbeitsmappe geschlossen wird und bietet keine Möglichkeit, den Vorgang abzubrechen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen