Goedendag,
met Excel ben ik bezig om een userform te maken. deze is bijna helemaal volledig alleen als ik het af wil sluiten en hem op wil slaan wat deze automatisch doet bij het klikken van een knop. geeft deze een foutmelding weer dat er iets niet goed zit met een tekstvlak.
Ben er achter dat het alleen is bij afsluiten en dat het verder helemaal wel doet. ziet iemand misschien het licht en dus waar ik de fout in ga?
De foutmelding die ik krijg is fout 9, subscript valt buiten bereik. Waarbij de foutmelding het dik gedrukte in de code geel maakt.
Hoop dat iemand mij kan helpen
met Excel ben ik bezig om een userform te maken. deze is bijna helemaal volledig alleen als ik het af wil sluiten en hem op wil slaan wat deze automatisch doet bij het klikken van een knop. geeft deze een foutmelding weer dat er iets niet goed zit met een tekstvlak.
Ben er achter dat het alleen is bij afsluiten en dat het verder helemaal wel doet. ziet iemand misschien het licht en dus waar ik de fout in ga?
De foutmelding die ik krijg is fout 9, subscript valt buiten bereik. Waarbij de foutmelding het dik gedrukte in de code geel maakt.
Code:
Dim sn
Private Sub datum_Change()
End Sub
Private Sub tekst6_Click()
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
keus4.Clear
datum.Text = Format(Now(), "dd-mm-yyyy")
End Sub
Private Sub CheckBox1_Click()
For i = 3 To 4
Me("keus" & i).Enabled = Me.CheckBox1
Next i
End Sub
Function lijst(x)
For j = 1 To UBound(sn)
For jj = 1 To x
If sn(j, jj) <> Me("keus" & jj).Value Then Exit For
Next
If jj = x + 1 And InStr(c01 & ",", "," & sn(j, jj) & ",") = 0 Then c01 = c01 & "," & sn(j, jj)
Next
lijst = Mid(c01, 2)
End Function
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), ",")
c01 = keus1.Value & keus2.Value
For j = 1 To UBound(sn)
If sn(j, 1) & sn(j, 2) = c01 Then Exit For
Next
'tekst met standaard actie komt te voorschijn na combobox 1 en 2
For jj = 5 To 5
[B] Me("tekst" & jj).Caption = sn(j, jj)[COLOR="#FF0000"][/COLOR][/B]
Next
End Sub
Private Sub keus3_Change()
'combobox voor constatering
If keus3.ListIndex > -1 Then keus4.List = Split(lijst(3), ",")
End Sub
Private Sub keus4_Change()
'combobox voor oorzaak
If keus4.ListIndex = -1 Then Exit Sub
c02 = keus3 & keus4.Value
For j = 1 To UBound(sn)
If sn(j, 3) & sn(j, 4) = c02 Then Exit For
Next
'tekst met oplossing wat er gedaan moet worden
For jj = 6 To 6
Me("tekst" & jj).Caption = sn(j, jj)
Next
End Sub
Private Sub CommandButton1_Click()
'afsluiten en opslaan actie
Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("data")
'find first row in database
irow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
With ws
ws.Range("A" & irow) = keus1.Value
ws.Range("B" & irow) = keus2.Value
ws.Range("C" & irow) = keus3.Value
ws.Range("D" & irow) = keus4.Value
ws.Range("E" & irow) = datum.Value
End With
keus1.Value = ""
keus2.Value = ""
keus3.Value = ""
keus4.Value = ""
Unload Me
End Sub
Hoop dat iemand mij kan helpen