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

2 UserForms gleichzeitig öffnen

Forumthread: 2 UserForms gleichzeitig öffnen

2 UserForms gleichzeitig öffnen
04.07.2002 10:55:32
Kai Fischer
Hallo Forum,
wer kann mir bei folgendem Problem helfen? Beim Druck eines CommandButtons sollen gleichzeitig 2(!!) Userforms geöffnet werden. Im Hintergrund sichtbar soll eine Eingabemaske sein (Fullscreen) und gleichzeitig im Vordergrund ein Hilfe-Form. Die Hilfe kann geschlossen werden und es bleibt nur noch die Eingabemaske über. Wie geht das???
Gebe ich beim Commandbutton
frm_maske.show
frm_help.show
ein, wird die Hilfe erst gezeigt, wenn ich die Maske schließe. Nutze ich beim frm_maske die Initialize-Methode um die Hilfe zu Öffnen, wird diese erst angezeigt und erst nach Schließen der Hilfe kommt die Maske.
Nutze ich die Activate Methode im frm_maske (UserForm_Activate() frm_help.Show) bekomme ich die Hilfe nicht mehr geschlossen. Sie wird immer wieder aufgerufen, sobald die Maske den Focus bekommt. Hat jemand eine Lösung???
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: 2 UserForms gleichzeitig öffnen
04.07.2002 11:08:57
L.Vira
am einfachsten, du benutzt als Hilfe den Office- Assi, den du nichtmodal anzeigen kannst. So kannst du in deinem form argeiten und der Hilfetext ist immer zu sehen.
Anders geht das nicht, da immer nur ein Form aktiv sein kann.
Re: 2 UserForms gleichzeitig öffnen
04.07.2002 12:08:22
Kai Fischer
Herzlichen Dank für die schnelle Antwort. Aber leider hilft mir das nicht wirklich weiter, da ich nicht voraussetzen kann, dass der Office-Assi überall installiert ist. Auch läßt der sich nicht so gestalten, dass er in die Anwendung passt.

Es ist übrigens nicht notwendig, dass man in beiden Forms gleichzeitig arbeiten kann! Es sollen nur beide Forms angezeigt werden und es reicht wenn nur das fordere aktiv ist. So wie wenn man aus dem ersten Form das zweite mit der SHOW Methode aufruft ohne das erste mit HIDE oder UNLOAD zu schließen.

Gibt es nicht doch irgendeine andere Lösung für mein Problem??

Anzeige
Re: 2 UserForms gleichzeitig öffnen
04.07.2002 22:40:16
L.Vira
in userform1:

Option Explicit
Private Sub UserForm_Initialize()
Application.OnTime Now + TimeSerial(0, 0, 1), "Dialog_zeigen"
End Sub

in einem normalen Modul:

Option Explicit
Sub Dialog_zeigen()
UserForm2.Show
End Sub

DANKE!!! Aber warum ....
05.07.2002 10:30:48
Kai Fischer
Super! Danke!! So funktioniert es. Aber wie kommt es, dass die Procedur "Dialog_zeigen" in einem Extra-Modul sein muss und nicht im Code von UserForm1 sein darf??? Wo liegen da die Gründe?
Anzeige
DANKE!!! Aber warum ....
05.07.2002 10:56:56
Kai Fischer
Super! Danke!! So funktioniert es. Aber wie kommt es, dass die Procedur "Dialog_zeigen" in einem Extra-Modul sein muss und nicht im Code von UserForm1 sein darf??? Wo liegen da die Gründe?
Anzeige

Infobox / Tutorial

2 UserForms gleichzeitig öffnen in Excel VBA


Schritt-für-Schritt-Anleitung

Um zwei UserForms gleichzeitig in Excel VBA zu öffnen, kannst du folgende Schritte befolgen:

  1. Erstelle die UserForms: Öffne den VBA-Editor (Alt + F11) und füge zwei UserForms hinzu, z.B. UserForm1 und UserForm2.

  2. Füge den Code in UserForm1 ein: Öffne UserForm1 und füge den folgenden Code in das Codefenster ein:

    Option Explicit
    
    Private Sub UserForm_Initialize()
       Application.OnTime Now + TimeSerial(0, 0, 1), "Dialog_zeigen"
    End Sub
  3. Erstelle ein Modul: Füge ein neues Modul hinzu (Rechtsklick auf "VBA-Projekt" > Einfügen > Modul) und füge den folgenden Code ein:

    Option Explicit
    
    Sub Dialog_zeigen()
       UserForm2.Show
    End Sub
  4. Starte die UserForm: Du kannst UserForm1 nun über das Excel-Dashboard oder durch einen Button starten. Wenn du UserForm1 öffnest, erscheint nach einer Sekunde UserForm2 im Vordergrund.


Häufige Fehler und Lösungen

  • Fehler: UserForms überlappen sich nicht korrekt

    • Lösung: Stelle sicher, dass der Code im richtigen Modul ist. Die Dialog_zeigen-Prozedur muss in einem Standardmodul sein, um korrekt ausgeführt zu werden.
  • Fehler: UserForm2 wird nicht angezeigt

    • Lösung: Überprüfe, ob der Zeitverzögerungs-Code korrekt implementiert ist. Stelle sicher, dass Application.OnTime richtig konfiguriert wurde.

Alternative Methoden

Wenn du keine zwei UserForms gleichzeitig zeigen möchtest, gibt es alternative Methoden, um Informationen darzustellen:

  • Verwendung von Informationstools: Statt einer zweiten UserForm könntest du ein Textfeld oder ein Label auf der ersten Form verwenden, um Hilfestellungen zu geben.
  • Modale Dialoge: Du könntest auch modale Dialoge verwenden, die den Benutzer zwingen, die Eingabe zu bestätigen, bevor sie zur Hauptform zurückkehren.

Praktische Beispiele

Beispiel 1: Wenn du Daten in UserForm1 eingibst und sofort eine Bestätigung in UserForm2 sehen möchtest, kannst du den oben genannten Code verwenden, um die Bestätigungsform anzuzeigen, während die Eingabemaske offen bleibt.

Beispiel 2: Du kannst zusätzlich ein Label in UserForm1 einfügen, das Informationen anzeigt, die sich je nach Eingabe in der Maske ändern.


Tipps für Profis

  • Verwende DoEvents: Wenn du komplexe Prozesse in einer UserForm hast, kann es hilfreich sein, DoEvents zu verwenden, um sicherzustellen, dass die Benutzeroberfläche nicht einfriert.

  • Gestalte UserForms ansprechend: Achte darauf, dass die UserForms benutzerfreundlich sind. Eine klare Struktur und gut lesbare Schriftarten verbessern die Nutzererfahrung.

  • Teste deinen Code häufig: Um sicherzustellen, dass beide UserForms wie gewünscht funktionieren, teste den Code regelmäßig während der Entwicklung.


FAQ: Häufige Fragen

1. Warum muss die Prozedur Dialog_zeigen in einem Extra-Modul sein? Die Prozedur muss in einem Standardmodul sein, da sie von der UserForm_Initialize-Methode aufgerufen wird. In einem UserForm-Modul kann es zu Problemen mit der Sichtbarkeit und der Ausführung kommen.

2. Kann ich die UserForms anpassen? Ja, du kannst die UserForms individuell gestalten, indem du Steuerelemente wie Textfelder, Schaltflächen und Labels hinzufügst, um die Funktionalität zu verbessern.

3. Führen beide UserForms Aktionen gleichzeitig aus? Nein, nur die UserForm, die im Vordergrund ist, kann aktiv bearbeitet werden. Die zweite UserForm wird angezeigt, aber bleibt passiv, bis die erste UserForm geschlossen wird.

Nutze diese Anleitung, um deine UserForms effektiv in Excel VBA zu verwalten und gleichzeitig anzuzeigen!

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