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

Abfragen ob UserForm geladen ist...

Forumthread: Abfragen ob UserForm geladen ist...

Abfragen ob UserForm geladen ist...
Niko
Hallo zusammen,
beim Öffnen einer Arbeitsmappe lade ich mit .show eine UserForm.
Wie kann ich in einer Tabelle abfragen ob die UserForm geladen ist - geht das mit visible?
Danke für eure Mühe und schönen Tag.
Gruß
Niko
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Abfragen ob UserForm geladen ist...
09.03.2012 16:35:09
Tino
Hallo,
kannst Du so machen.
Dim oUserform As Object
For Each oUserform In UserForms
If oUserform.Name = "UserForm1" Then
MsgBox oUserform.Name & " wird ausgeführt"
Exit For
End If
Next oUserform
Gruß Tino
Ja, das geht
09.03.2012 22:00:55
Martin
Hallo Niko,
mit Visible geht das so:
If UserForm1.Visible Then Debug.Print "UserForm geladen"
Viele Grüße
Martin
Anzeige
;
Anzeige

Infobox / Tutorial

Abfragen, ob eine UserForm in Excel geladen ist


Schritt-für-Schritt-Anleitung

  1. Öffne die VBA-Umgebung: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Projekt-Explorer mit der rechten Maustaste auf deine Arbeitsmappe und wähle Einfügen > Modul.

  3. Kopiere den Code: Füge den folgenden Code in das Modul ein:

    Dim oUserform As Object
    For Each oUserform In UserForms
       If oUserform.Name = "UserForm1" Then
           MsgBox oUserform.Name & " wird ausgeführt"
           Exit For
       End If
    Next oUserform
  4. Teste den Code: Führe das Makro aus, um zu prüfen, ob die UserForm geladen ist.


Häufige Fehler und Lösungen

  • Fehler: "UserForm nicht gefunden"
    Lösung: Stelle sicher, dass der Name der UserForm korrekt im Code angegeben ist. Überprüfe die Schreibweise.

  • Fehler: MsgBox zeigt nichts an
    Lösung: Achte darauf, dass die UserForm tatsächlich geladen ist, bevor du den Code ausführst. Du kannst dies überprüfen, indem du die UserForm manuell öffnest.


Alternative Methoden

Eine weitere Methode, um zu überprüfen, ob eine UserForm sichtbar ist, ist die Verwendung der Visible-Eigenschaft. Der Code sieht folgendermaßen aus:

If UserForm1.Visible Then
    Debug.Print "UserForm geladen"
End If

Diese Methode ist besonders nützlich, wenn Du nur feststellen möchtest, ob die UserForm sichtbar ist, ohne eine Nachricht anzuzeigen.


Praktische Beispiele

Hier sind einige praktische Anwendungsszenarien:

  1. Automatisiertes Prüfen: Du kannst den Code in ein Makro integrieren, das beim Öffnen der Arbeitsmappe ausgeführt wird, um sicherzustellen, dass die UserForm geladen ist.

  2. Benutzerfeedback: Nutze die MsgBox, um Rückmeldungen an den Benutzer zu geben, wenn die UserForm geladen oder geschlossen wird.


Tipps für Profis

  • Verwende Fehlerbehandlung: Integriere eine Fehlerbehandlung, um sicherzustellen, dass dein Code auch bei unerwarteten Fehlern stabil bleibt. Beispiel:

    On Error Resume Next
    If UserForm1.Visible Then
       Debug.Print "UserForm geladen"
    End If
    On Error GoTo 0
  • Optimierung: Wenn Du mit mehreren UserForms arbeitest, überlege, eine Funktion zu erstellen, die überprüft, ob eine beliebige UserForm sichtbar ist, um den Code zu modularisieren.


FAQ: Häufige Fragen

1. Wie kann ich den Namen der UserForm ändern?
Du kannst den Namen der UserForm im VBA-Editor ändern, indem Du die UserForm auswählst und im Eigenschaftenfenster den Namen anpasst.

2. Funktioniert dieser Code auch in Excel 2013?
Ja, der Code ist mit Excel-Versionen ab 2010 kompatibel, solange Du die VBA-Umgebung verwendest.

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