Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform 2 durch Buttonklick auf Userform 1 öffnen

Userform 2 durch Buttonklick auf Userform 1 öffnen
16.11.2012 12:12:31
Alex
Ich nöchte auf einen Comandbutton klicken und dadurch ein zusätzliches Userform öffnen.
Mit (Name).show kommt das Userform auch Nur werden keine Items in die Dropdown eingefügt.
Der Code ist auch Hinterlegt (dirrect im UserForm 2) ich habe hinter dem Button folgendes hinterlegt : Load (Name) ;(Name).Show
MfG Alex K.

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform 2 durch Buttonklick auf Userform 1 öffnen
16.11.2012 13:50:33
ChrisL
Hi Alex
Dies müsste eigentlich problemlos funktionieren. Wie füllst du denn die Werte in die Dropdown (nehme an Combobox)?
cu
Chris

AW: Userform 2 durch Buttonklick auf Userform 1 öffnen
16.11.2012 14:15:58
Alex
Ich füge die werte mit

cbohrst.AddItem="####"
und

cborbt2.Style = fmStyleDropDownList
ein.
Mfg Alex K.
Ps bei meinem ersten Userform hats auch geklappt nur bei diesem net^^

Anzeige
AW: Userform 2 durch Buttonklick auf Userform 1 öffnen
16.11.2012 14:27:15
ChrisL
Hi Alex
Vielleicht musst du mal ein Beispiel hochladen. Folgender Test funktioniert:
'Userform 1
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub

Private Sub UserForm_Initialize()
ComboBox1.AddItem "####"
ComboBox1.Style = fmStyleDropDownList
End Sub

' Userform 2
Private Sub UserForm_Initialize()
ComboBox1.AddItem "####"
ComboBox1.Style = fmStyleDropDownList
End Sub

cu
Chris

Anzeige
AW: Userform 2 durch Buttonklick auf Userform 1 öffnen
16.11.2012 14:36:59
Alex
Hier die Codes
Private Sub cmbok_Click()
If txtcode = "123456" Then Klappe
If Not txtcode = "123456" Then Unload code
End Sub
Private Sub cmbzurueck_Click()
Unload code
End Sub

Das sub für Klappe
Sub Klappe()
Unload code
'Hersteller einfügen
Load einfuegen
einfuegen.Show

Und zum schluss der code im neuen userform
Private Sub einfuegen_Initialize()
cmbrb2t.AddItem "Bitte Hersteller wählen"
cborbt2.AddItem "KUKA"
cborbt2.AddItem "ABB"
cborbt2.ListIndex = 0
'desing von Hersteller- und  Lastfall-fenster werden bestimmt
cborbt2.Style = fmStyleDropDownList
cboLF2.Style = fmStyleDropDownList
End Sub
MfG Alex

Anzeige
AW: Userform 2 durch Buttonklick auf Userform 1 öffnen
16.11.2012 15:02:27
ChrisL
Hi Alex
UserForm_Initialize
anstelle
einfuegen_Initialize
cu
Chris

AW: Userform 2 durch Buttonklick auf Userform 1 öffnen
16.11.2012 15:10:09
Alex
dann bekomme ich Im sub Klappe die Meldung "Objekt erforderlich" auch nach einer abänderung auf "UserForm.Show" und "Load UserForm"
MfG Alex

AW: Userform 2 durch Buttonklick auf Userform 1 öffnen
16.11.2012 18:02:40
ChrisL
Hi Alex
Ich habe jetzt leider kein VBA mehr zur hand, aber ich hab es vorher getestet. Bei .Show musst du allerdings weiterhin den Namen vom Userform ansprechen, aber bei Initialize nicht.
Fragt sich ober der Code an der richtigen Stelle ist (Modul vom Userform oder in einem Standardmodul). Am einfachsten wäre es wirklich, wenn du eine kleine Beispieldatei hochladen würdest.
cu
Chris

Anzeige
AW: Userform 2 durch Buttonklick
16.11.2012 18:04:45
Hajo_Zi
Hallo Chris,
dem stimme ich zu.

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Userform 2 durch Buttonklick auf Userform 1 öffnen


Schritt-für-Schritt-Anleitung

Um ein Userform 2 durch einen Button auf Userform 1 zu öffnen, befolge diese Schritte:

  1. Öffne den VBA-Editor: Drücke ALT + F11.

  2. Füge ein Userform hinzu: Klicke mit der rechten Maustaste auf "VBAProject" und wähle "Einfügen" > "UserForm".

  3. Erstelle einen Button: Ziehe einen CommandButton auf Userform 1.

  4. Füge den folgenden Code in das Userform 1 ein:

    Private Sub CommandButton1_Click()
       UserForm2.Show
    End Sub
  5. Initialisiere Userform 2: Füge im Code von Userform 2 den Initialisierungs-Code hinzu, um die Dropdowns zu befüllen:

    Private Sub UserForm_Initialize()
       ComboBox1.AddItem "Bitte auswählen"
       ComboBox1.AddItem "Option 1"
       ComboBox1.Style = fmStyleDropDownList
    End Sub

Jetzt solltest du Userform 2 erfolgreich durch einen Klick auf den Button in Userform 1 öffnen können.


Häufige Fehler und Lösungen

  • Fehler: "Objekt erforderlich": Dieser Fehler tritt auf, wenn der Name des Userforms nicht korrekt angegeben ist. Stelle sicher, dass du den richtigen Namen verwendest (z.B. UserForm2 statt einfuegen).

  • Dropdown wird nicht gefüllt: Überprüfe, ob die Initialisierungsmethode korrekt aufgerufen wird. Stelle sicher, dass der Code für die Dropdown-Befüllung im UserForm_Initialize-Ereignis steht.

  • Benutzerform nicht sichtbar: Stelle sicher, dass die .Show-Methode korrekt verwendet wird. Der Code sollte wie folgt aussehen:

    UserForm2.Show

Alternative Methoden

Falls du Userform 2 durch andere Ereignisse öffnen möchtest, kannst du auch folgende Methoden nutzen:

  • Direktes Aufrufen durch eine Schaltfläche in einem Arbeitsblatt: Du kannst eine Schaltfläche in Excel einfügen und den folgenden Code verwenden:

    Sub Button_Click()
       UserForm2.Show
    End Sub
  • Öffnen des Userforms über ein Makro: Du kannst ein Makro erstellen, das das Userform öffnet:

    Sub OpenUserForm()
       UserForm2.Show
    End Sub

Praktische Beispiele

Hier sind einige Codeschnipsel, die dir bei der Implementierung helfen können:

  1. Userform 1 mit Button:

    Private Sub CommandButton1_Click()
       UserForm2.Show
    End Sub
  2. Userform 2 mit Dropdown:

    Private Sub UserForm_Initialize()
       ComboBox1.AddItem "Option 1"
       ComboBox1.AddItem "Option 2"
       ComboBox1.Style = fmStyleDropDownList
    End Sub
  3. Schließen von Userform 2:

    Private Sub CommandButtonClose_Click()
       Unload UserForm2
    End Sub

Tipps für Profis

  • Nutze Fehlerbehandlungsroutinen: Dies hilft dir, mögliche Fehler während der Ausführung abzufangen.

  • Verwende Module für wiederverwendbare Funktionen: Wenn du ähnliche Userforms oder Funktionen hast, erstelle Module, um redundanten Code zu vermeiden.

  • Halte deine Userforms auf dem neuesten Stand: Ändere die Dropdown-Werte dynamisch, um die Benutzererfahrung zu verbessern.


FAQ: Häufige Fragen

1. Wie öffne ich ein Userform mit einem Button in Excel?
Du kannst ein Userform öffnen, indem du den zugehörigen Code dem Click-Ereignis eines Buttons hinzufügst, wie im obigen Beispiel gezeigt.

2. Was ist der Unterschied zwischen .Show und Load?
.Show öffnet das Userform und zeigt es an, während Load das Userform im Speicher lädt, aber nicht anzeigt. Verwende .Show, um das Userform sichtbar zu machen.

3. Wie kann ich Dropdowns in einem Userform befüllen?
Verwende die AddItem-Methode im UserForm_Initialize-Ereignis, um Items in deine ComboBox oder ListBox einzufügen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige