Clever-Excel-Forum

Normale Version: Laufzeitfehler 9 - Index ausserhalb des gültigen Bereichs
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin

Ich hab folgenden Code zu meiner Userform_Mast1 [im Sub Userform_Initialize()] hinzugefügt:

Code:
Dim w As Integer
Dim QP_selected() As String
    For w = 0 To UserForm_Module.ListBox1.ListCount - 1
        If UserForm_Module.ListBox1.Selected(w) = True Then
            QP_selected(w) = UserForm_Module.ListBox1.List(w)
        End If
    Next

und seither kommt mir die Meldung "Laufzeitfehler 9 - Index ausserhalb des gültigen Bereichs"

Wenn ich dort dann auf Debuggen gehe, zeigt mir das VBA auf die Zeile, wo ich die Userform_Mast1 mit Userform_Mast1.Show einblende. Hab ich den Code auskommentiert, erscheint die Meldung nicht und das ganze läuft prima.

Liegt das an irgendwas am neuen Code?

Danke im Voraus
Es ist irgendwas an der Zeile QP_selected(w) = ...

Wenn diese kommentiert ist, läuft es. Ist diese aktiv, kommt besagte Meldung...
Hallo,

QP_selected ist nicht dimensioniert, daher der Fehler.

Probier das mal:
Code:
Dim w As Integer
Dim QP_selected() As String, cnt as long
  cnt=0 
  For w = 0 To UserForm_Module.ListBox1.ListCount - 1
     If UserForm_Module.ListBox1.Selected(w) = True Then
        redim preserve QP_selected(cnt)
        QP_selected(cnt) = UserForm_Module.ListBox1.List(w)
        cnt=cnt+1
     End If
  Next
Code:
For j = 0 To ListBox1.ListCount - 1
  If ListBox1.Selected(j) Then c00=c00 & "_" & ListBox1.List(j)
Next
sn=split(mid(c00,2),"_")