Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform / schließen verhindern

Forumthread: Userform / schließen verhindern

Userform / schließen verhindern
27.02.2004 10:02:17
Jens K.
Hallo zusammen,
ich benötige eure Hilfe.
Ich habe eine Userform erzeugt. Nun möchte ich verhindern, das der Anwender diese manuell über das "x" in der Kopfzeile schließen kann.
Kann ich das "x" in der Userform ausblenden bzw. deaktivieren.
Wer kann mir helfen
Vielen Dank im voraus
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform / schließen verhindern
27.02.2004 10:09:16
AndreasS
Morgen,
'Schließen über "X" nicht möglich...

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
Cancel = 1
MsgBox "Bitte verlassen Sie das Dialogfeld mit den Schaltflächen.", _
vbOKOnly + vbInformation, "Bitte Schaltfläche betätigen."
End If
End Sub

Gruß Andreas
Anzeige
AW: Userform / schließen verhindern
27.02.2004 10:12:34
y
hi Jens,
so in etwa ?

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
MsgBox "Nix mehr mit schliessen über den (x) button"
Cancel = True
End If
End Sub

cu Micha
Vielen Dank für eure Hilfe. Es funktioniert.
27.02.2004 10:19:12
Jens K.
Danke
Bitte o.T.
27.02.2004 10:20:39
AndreasS
Gruß Andreas
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Userform in Excel VBA vor dem Schließen schützen


Schritt-für-Schritt-Anleitung

Um zu verhindern, dass Benutzer eine Userform in Excel VBA über das „X“ in der Kopfzeile schließen, kannst du das UserForm_QueryClose-Ereignis verwenden. Hier sind die Schritte:

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle im Projektfenster die Userform aus, die du schützen möchtest.

  3. Klicke mit der rechten Maustaste auf die Userform und wähle „Code anzeigen“.

  4. Füge den folgenden VBA-Code in das Code-Fenster ein:

    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
       If CloseMode = 0 Then
           Cancel = 1
           MsgBox "Bitte verlassen Sie das Dialogfeld mit den Schaltflächen.", _
           vbOKOnly + vbInformation, "Bitte Schaltfläche betätigen."
       End If
    End Sub
  5. Schließe den VBA-Editor und teste die Userform. Sie sollte nun nicht mehr über das „X“ geschlossen werden können.


Häufige Fehler und Lösungen

Fehler 1: Der Userform schließt sich trotz des Codes.

Lösung: Stelle sicher, dass der Code im richtigen Userform-Modul eingefügt wurde. Überprüfe auch, ob das Ereignis UserForm_QueryClose korrekt benannt ist.

Fehler 2: Die Meldung wird nicht angezeigt.

Lösung: Achte darauf, dass der CloseMode im Code korrekt überprüft wird. In einigen Fällen kann es auch hilfreich sein, vbFormControlMenu zu verwenden:

If CloseMode = vbFormControlMenu Then
    MsgBox "Nix mehr mit schließen über den (x) button"
    Cancel = True
End If

Alternative Methoden

Neben dem UserForm_QueryClose-Ereignis kannst du auch andere Methoden verwenden, um das Schließen der Userform zu steuern:

  • Schaltflächen zum Schließen: Erstelle eigene Schaltflächen, um die Userform zu schließen. Dies gibt dir die Kontrolle über das Schließen und ermöglicht eine benutzerfreundliche Interaktion.

  • Dialogfeld schließen: Du kannst ein benutzerdefiniertes Dialogfeld erstellen, das spezifische Informationen anzeigt, bevor die Userform geschlossen wird. Nutze dazu die MsgBox-Funktion.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das Schließen einer Userform in Excel VBA steuern kannst:

  1. Einfaches Schließen mit Bestätigung:

    Private Sub btnClose_Click()
       If MsgBox("Möchten Sie die Userform wirklich schließen?", vbYesNo) = vbYes Then
           Unload Me
       End If
    End Sub
  2. Schließen über das Menü deaktivieren:

    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
       If CloseMode = vbFormControlMenu Then
           MsgBox "Das Schließen über die Kopfzeile ist deaktiviert!"
           Cancel = True
       End If
    End Sub

Tipps für Profis

  • Verwende globale Variablen: Um den Zustand deiner Userform zu speichern, kannst du globale Variablen verwenden. So kannst du den Schließprozess noch besser steuern.

  • Gestalte deine Userform benutzerfreundlich: Füge Tooltips oder Hilfetexte hinzu, um den Nutzern klar zu machen, wie sie die Userform korrekt schließen können.

  • Teste den Code gründlich: Achte darauf, deinen Code in verschiedenen Szenarien zu testen, um sicherzustellen, dass alles wie gewünscht funktioniert.


FAQ: Häufige Fragen

1. Frage: Kann ich das „X“ in der Kopfzeile der Userform ausblenden?
Antwort: Leider gibt es in VBA keine direkte Möglichkeit, das „X“ in der Kopfzeile einer Userform auszublenden. Du kannst jedoch das Schließen über UserForm_QueryClose verhindern.

2. Frage: Funktioniert dieser Code in allen Excel-Versionen?
Antwort: Ja, der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen. Stelle sicher, dass du die richtigen Einstellungen für Makros und Vertrauen aktiviert hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige