Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Arbeitsmappe nur über Schaltfläche schließen

Gruppe

Schließen

Problem

Wie kann ich erreichen, dass eine Arbeitsmappe nur über eine Schaltfläche geschlossen werden kann?

Lösung
Geben Sie den nachfolgenden Code in die genannten Module ein.

ClassModule: DieseArbeitsmappe

Sub Workbook_BeforeClose(Cancel As Boolean)
   Dim nme As Name
   On Error Resume Next
   Set nme = ThisWorkbook.Names("OK")
   If Err > 0 Or nme Is Nothing Then Cancel = True
End Sub

Private Sub Workbook_Open()
   On Error Resume Next
   ThisWorkbook.Names("OK").Delete
   On Error GoTo 0
End Sub

StandardModule: basMain

Sub Schliessen()
   ThisWorkbook.Names.Add "OK", _
      RefersTo:=Range("A1"), Visible:=False
   ThisWorkbook.Close
End Sub