Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1876to1880
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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.

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.
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
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
Anzeige
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.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige