Du erzeugst Dir eine Variable vom Datentyp Boolean.
Diese Variable initialisierst Du als FALSE.
Wenn die Datei geschlossen wird, prüfst Du diese Variable.
Wenn alles ok, dann darf geschlossen werden.
Falls nicht, verhinderst Du das Schließen in der entsprechenden Prozedur.
Wenn das Programm durchgelaufen ist und alles ok war, dann einfach der Variablen der Wert true zuweisen.
Somit kann die Mappe dann auch geschlossen werden, wenn alles ok war.
Dim bolAllesOk as Boolean
bolAllesOk = False 'sie würde beim ersten Zugriff als False initialisiert werden und bräuchte hier eigentlich nicht definiert werden, aber sauberer ist es so
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If bolAllesOk = False Then
Cancel = True 'Schließen wird verhindert
End If
End Sub
|