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

Userform aktivieren / deaktivieren

Forumthread: Userform aktivieren / deaktivieren

Userform aktivieren / deaktivieren
30.04.2019 09:27:09
Michi
Guten Morgen,
ich habe eine Userform erstellt, welche beim Start von Excel automatisch startet, dass der Nutzer gewisse Informationen angeben muss. Nun habe ich noch eine Checkbox hinzugefügt, welche bei hakensetzen die Userform bei den weiteren Starts deaktiviert.
Könnt Ihr mir bitte helfen?
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform aktivieren / deaktivieren
30.04.2019 09:57:43
fcs
Hallo Michi,
du musst die Information, dass die Checkbox angeklickt wurde irgendwo in der Datei speichern (Zelle in einem Tabellenblatt oder Feld in Dokumenteigenschaften oder unter einem Namen)
Beim öffnen prüfst du dann den Wert in einer If-Anweisung und überspringst ggf. die Anzeige des Userforms.
LG
Franz
Anzeige
AW: Userform aktivieren / deaktivieren
30.04.2019 10:08:31
Michi
Das Problem noch:
Habt Ihr evtl. ein Beispiel für mich, wie ich die Checkbox programmiere, dass sie bei hakensetzen die Userform deaktiviert?
AW: Userform aktivieren / deaktivieren
30.04.2019 10:21:38
Werner
Hallo Michi,
da brauchst du im Prinzip gar nichts zu programmieren.
Im Eigenschaftenfenster deiner Checkbox findest du ControlSource
Dort kannst du eine Zelle eintragen.
Am besten nimmst du eine Zelle außerhalb des sichtbaren Bereiches deiner Tabelle.
z.B. ZZ1
Jetzt ist diese Zelle mit der Checkbox "verknüpft". Setzt du den Haken, dann wird in ZZ1 WAHR ausgegeben, nimmst du den Haken raus dann FALSCH.
Das fragst du dann im Workbook_Open ab:
Private Sub Workbook_Open()
If Worksheets("Tabelle1").Range("ZZ1") = False Then
UserForm1.Show
End If
End Sub
Gruß Werner
Anzeige
AW: Userform aktivieren / deaktivieren
30.04.2019 10:32:06
Michi
Vielen Dank :)
Gerne u. Danke für die Rückmeldung. o.w.T.
30.04.2019 10:39:49
Werner
;
Anzeige

Infobox / Tutorial

Userform aktivieren und deaktivieren in Excel


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Zuerst musst du eine Userform in deiner Excel-Datei erstellen. Gehe dazu in den VBA-Editor (Alt + F11), klicke auf „Einfügen“ und dann auf „UserForm“.

  2. Checkbox hinzufügen: Füge eine Checkbox zu deiner Userform hinzu. Du kannst dies über die Werkzeugleiste im VBA-Editor tun.

  3. ControlSource festlegen: Klicke auf die Checkbox und öffne das Eigenschaftenfenster. Setze die ControlSource auf eine Zelle, beispielsweise ZZ1. Diese Zelle sollte idealerweise außerhalb des sichtbaren Bereichs deiner Tabelle liegen.

  4. Code für das Öffnen der Userform: Füge den folgenden VBA-Code in das ThisWorkbook-Modul ein, um die Userform beim Öffnen der Datei anzuzeigen, falls die Checkbox nicht aktiviert ist:

    Private Sub Workbook_Open()
       If Worksheets("Tabelle1").Range("ZZ1") = False Then
           UserForm1.Show
       End If
    End Sub
  5. Checkbox abfragen: Wenn der Haken in der Checkbox gesetzt ist, wird in der Zelle ZZ1 der Wert WAHR ausgegeben. Wenn du die Userform nicht mehr anzeigen möchtest, bleibt die Checkbox aktiviert.


Häufige Fehler und Lösungen

  • Userform öffnet sich nicht: Überprüfe, ob der VBA-Code korrekt im ThisWorkbook-Modul eingefügt wurde und ob die ControlSource der Checkbox korrekt auf die Zelle ZZ1 zeigt.

  • Checkbox speichert den Wert nicht: Stelle sicher, dass die Zelle, die du für die ControlSource verwendest, nicht durch andere Daten überschrieben wird.


Alternative Methoden

Eine alternative Methode, um die Userform zu steuern, ist die Verwendung von Application.OnTime, um das Userform nur zu bestimmten Zeiten anzuzeigen oder beim Schließen die Checkbox zurückzusetzen:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Worksheets("Tabelle1").Range("ZZ1").Value = False
End Sub

Praktische Beispiele

Angenommen, du möchtest, dass die Userform nur beim ersten Öffnen der Datei erscheint. Du kannst den Code im Workbook_Open-Ereignis anpassen, um den Status der Checkbox zu überprüfen und den Wert in einer speziellen Zelle zu speichern.

Ein Beispiel könnte so aussehen:

Private Sub Workbook_Open()
    If Worksheets("Tabelle1").Range("ZZ1").Value = False Then
        UserForm1.Show
    End If
End Sub

Tipps für Profis

  • Zelle verstecken: Um die Zelle ZZ1 unsichtbar zu machen, kannst du sie in ein Blatt verschieben, das für den Benutzer nicht zugänglich ist, oder die Zeile/Spalte ausblenden.

  • Userform anpassen: Nutze die Eigenschaften der Userform, um das Design und die Benutzererfahrung zu verbessern. Denke auch daran, die Schaltflächen zu benennen und eventuell zusätzliche Validierung hinzuzufügen.


FAQ: Häufige Fragen

1. Wie kann ich die Userform auch nach dem Schließen der Datei wieder aktivieren?
Du kannst den Wert der Checkbox zurücksetzen, indem du einen weiteren VBA-Code im Workbook_BeforeClose-Ereignis einfügst.

2. Funktioniert das auch in Excel 365?
Ja, die beschriebenen Schritte und der VBA-Code sind in Excel 365 sowie in früheren Versionen anwendbar.

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