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

Userformen indexiert ansprechen

Forumthread: Userformen indexiert ansprechen

Userformen indexiert ansprechen
05.04.2022 08:46:35
Michael
Guten Tag.
Ich besitze leider nur weinige Excel-VBA Kenntnisse und möchte gerne Listboxen aus verschiedenen Userformen indexiert ansprechen.
Bisher löse ich das folgendermassen:

f_BbwInstl1.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
f_BbwInstl2.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
f_BbwInstl3.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
f_BbwInstl4.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
f_BbwInstl5.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
f_BbwInstl6.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
f_BbwInstl7.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
f_BbwInstl8.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
f_BbwInstl9.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
f_BbwInstl10.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
f_BbwInstl11.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
f_BbwInstl12.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
Wie kann ich die Userformen "f_BbwInstl (1-12)" indexiert ansprechen um das ganze in einer Schleife lösen zu können?
ich hoffe, man versteht die Beschreibung meines Problems.
Für Hilfe wäre ich sehr dankbar.
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userformen indexiert ansprechen
05.04.2022 10:42:04
Michael
Niemand eine Idee? :-(
Weiss denn jemand ob es überhaupt möglich ist?
Vielen Dank
AW: Userformen indexiert ansprechen
05.04.2022 11:52:56
Rudi
Hallo,
meiner Meinung nach geht das nicht.
Wozu so vieler Userforms mit identischen Listboxen?
Gruß
Rudi
AW: Userformen indexiert ansprechen
05.04.2022 13:26:03
Michael
Die Anwendung wäre etwas kompliziert zu beschreiben. Ich behandle aber später im Code auch noch Userforms/Listboxen die nicht identisch sind.
Ich dachte, es gäbe evtl. eine Funktion um das elegant in einer Schleife lösen zu können.
Anzeige
AW: Userformen indexiert ansprechen
05.04.2022 12:59:50
ChrisL
Hi
Die Sinnhaftigkeit ist eine Frage für sich. Die Nachfrage von Rudi ist m.E. berechtigt.
Dennoch hier ein Ansatz:

Private Sub CommandButton1_Click()
Dim i As Integer, UF As Object
Load UserForm1
Load UserForm2
Load UserForm3
For i = 1 To 3
Set UF = GrabUF("UserForm" & i)
UF.TextBox1 = "xxx"
UF.Show
Next i
End Sub

Private Function GrabUF(UFName As String) As Object
Dim UF As Object
For Each UF In UserForms
If UF.Name = UFName Then
Set GrabUF = UF
Exit Function
End If
Next UF
End Function
cu
Chris
Anzeige
AW: Userformen indexiert ansprechen
05.04.2022 13:54:42
Michael
Vielen Dank Chris, dein Code funktioniert wie erwartet.
Ob mein Vorgehen grundsätzlich keinen Sinn macht, kann ich nicht beurteilen, da ich schlicht und einfach zu wenig Wissen/Erfahrung habe.
Wenn es schlussendlich aber so funktioniert wie ich möchte, macht es wenigstens für mich Sinn! ;-)
Einfach gesagt, probiere ich eine "grafische" und dynamische Darstellung von Daten einer Liste zu generieren.
Vielen dank für die Hilfe
Anzeige
AW: Userformen indexiert ansprechen
05.04.2022 13:59:56
Nepumuk
Hallo Michael,
das geht auch einfacher:

Private Sub CommandButton1_Click()
Dim i As Long, UF As Object
For i = 1 To 3
Set UF = UserForms.Add("UserForm" & CStr(i))
UF.Show False
Next i
End Sub
Gruß
Nepumuk
AW: Userformen indexiert ansprechen
05.04.2022 14:13:33
Michael
Danke für deinen Vorschlag Nepomuk. Aber diese Variante scheint nicht zu funktionieren. Es gibt zwar keine Fehlermeldung, aber die ListBoxen werden nicht gefüllt!

Dim i As Long, UF As Object
For i = 1 To 3
Set UF = UserForms.Add("f_BbwInstl" & CStr(i))
UF.ListBox1.List = Sheets("tabellarisch").Range(Sheets("tabellarisch").Cells(Zeile + 1, Spalte), Sheets("tabellarisch").Cells(Zeile + 3, Spalte + 1)).Value
Next i
Trotzdem Danke für deinen Aufwand.
Anzeige
;

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