Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1664to1668
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

Array-Name dynamisch

Array-Name dynamisch
13.01.2019 13:09:26
DirkR
Hallo Excelgemeinde,
ich stecke leider fest und benötige Hilfe.
Ich habe folgeneden Code in Userform1:
Option Explicit

Private Sub UserForm_Initialize()
Dim Array1 As Variant, Array2 As Variant
Dim I As Integer
'Einträge der OptionButton-Gruppen
Array1 = Array("G1 Eintrag1", "G1 Eintrag2", "G1 Eintrag3", "G1 Eintrag4")
Array2 = Array("G2 Eintrag1", "G2 Eintrag2", "G2 Eintrag3", "G2 Eintrag4", "G2 Eintrag5")
Select Case (lngOptB)
Case 1
For I = 0 To UBound(Array1)
Me.ListBox1.AddItem (Array1(I))
Next I
Case 2
For I = 0 To UBound(Array2)
Me.ListBox1.AddItem (Array2(I))
Next I
End Select
End Sub

Der Code läuft super, aber ich würde das ganze gerne vereinfachen, da bisher lediglich 2 Fälle bei Select Case vorkommen können, aber das ganze sich bis auf ca. 15 Fälle noch erweitert.
DIe Variable lngOptB wird eine Zahl sein von 1 bis 15.
Dementsprechend werde ich später 15 Arrays haben.
Nun meine Frage:
Kann ich den Array-Name variabel/ dynamisch gestalten, so dass ich auf Select Case verzichten kann?
Also sowas wie:
For I = 0 To UBound(AArray("Array" & lngOptB))
Me.ListBox1.AddItem (Array("Array" & lngOptB)(I))
Next I
...was leider nicht funktioniert.
Bitte um Hilfe.
Grüße DirkR

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

Betreff
Datum
Anwender
Anzeige
AW: Array-Name dynamisch
13.01.2019 13:36:39
Nepumuk
Hallo Dirk,
teste mal:
Private Sub UserForm_Initialize()
    
    Dim objDictionary As Object
    
    Set objDictionary = CreateObject(Class:="Scripting.Dictionary")
    
    With objDictionary
        
        'Einträge der OptionButton-Gruppen
        Call .Add(Key:="Array1", Item:=Array("G1 Eintrag1", _
            "G1 Eintrag2", "G1 Eintrag3", "G1 Eintrag4"))
        Call .Add(Key:="Array2", Item:=Array("G2 Eintrag1", _
            "G2 Eintrag2", "G2 Eintrag3", "G2 Eintrag4", "G2 Eintrag5"))
        
        ListBox1.List = .Item(Key:="Array" & CStr(lngOptB))
        
    End With
    
    Set objDictionary = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: Array-Name dynamisch
13.01.2019 13:53:30
DirkR
Hallo Nepumuk,
vielen Dank für deine schnelle und kompetente Antwort!
Das klappt super!!!
Vielen, vielen Dank .
Gruß DirkR

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige