Fout in functie niet kunnen vinden VBA Excel

Status
Niet open voor verdere reacties.

missie91

Gebruiker
Lid geworden
12 jun 2013
Berichten
17
Hoi

ben al ruim een dag aan het zoeken naar een fout in deze functie maar kan hem niet vinden.
misschien ziet iemand van jullie hem?
de fout die weer gegeven wordt is fout 9 tijdens uitvoering
valt buiten subscript

Code:
Function lijst(x)
    For j = 1 To UBound(sn)
        For jj = 1 To x
            If sn(j, jj, jjj) <> Me("keus" & jjj).Value Then Exit For
        Next
        
        If jjj = x + 1 And InStr(c01 & ",", "," & sn(j, jj) & ",") = 0 Then c01 = c01 & "," & sn(j, jj, jjj)
    Next
    lijst = Mid(c01, 2)
End Function

De hele code voor het bestand is de volgende:
Code:
Dim sn

Private Sub keus4_Change()
If keus3.ListIndex = -1 Then Exit Sub
    
    c01 = keus1.Value & keus2.Value & keus3.Value& keus4.Value
    
    For j = 1 To UBound(sn)
        If sn(j, 1) & sn(j, 2) & sn(j, 3) & sn(j, 4) = c01 Then Exit For
    Next
    
    For jj = 5 To 6
        Me("tekst" & jjj).Caption = sn(j, jj, jjj)
    Next
End Sub



Private Sub UserForm_Initialize()
    sn = Sheets("database").Cells(1).CurrentRegion
    For j = 1 To UBound(sn)
        If InStr(c01 & ",", "," & sn(j, 1) & ",") = 0 Then c01 = c01 & "," & sn(j, 1)
    Next
    
    keus1.List = Split(Mid(c01, 2), ",")
    keus2.Clear
    keus3.Clear
End Sub

Private Sub keus1_Change()
    keus2.ListIndex = -1
    keus3.ListIndex = -1
    If keus1.ListIndex > -1 Then keus2.List = Split(lijst(1), ",")
End Sub
Private Sub keus2_Change()
    If keus2.ListIndex > -1 Then keus3.List = Split(lijst(2), ",")
End Sub
Function lijst(x)
    For j = 1 To UBound(sn)
        For jj = 1 To x
            If sn(j, jj, jjj) <> Me("keus" & jjj).Value Then Exit For
        Next
        
        If jjj = x + 1 And InStr(c01 & ",", "," & sn(j, jj) & ",") = 0 Then c01 = c01 & "," & sn(j, jj, jjj)
    Next
    lijst = Mid(c01, 2)
End Function


Private Sub keus3_Change()
    If keus3.ListIndex > -1 Then keus4.List = Split(lijst(3), ",")
    
End Function

dankje
 
Missie91, je kan beter een voorbeeldje plaatsen in Excel. Natuurlijk ontdaan van gevoelige info, want de fout hoeft niet in de functie te zitten...
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan