Stonefield
Nieuwe gebruiker
- Lid geworden
- 6 jul 2022
- Berichten
- 3
Dag allemaal,
Ik heb een keuzelijst met invoervak ("cobStatus") die zijn waarden haalt uit een Excel werkblad ("Comboboxen"). Dat zijn 14 cellen die ik benoemd heb met een naambereik ("lstStatus"). De keuzelijst werkt prima, alle 14 keuzes zijn zichtbaar en te selecteren.
Nu heb ik een code geschreven om een geselecteerde waarde uit die keuzelijst te verwijderen en de cellen onder de verwijdere cel een plaats omhoog te schuiven in het naambereik. Werkt ook prima, echter alleen maar wanneer het de eerste 10 waarden uit de keuzelijst betreft. Waarden op de plek 11 in de lijst en hoger worden niet verwijderd. Er volgt ook geen foutmelding. Hij toont wel de inhoud van de laatste MsgBox "De ingevoerde waarde is succesvol uit de keuzelijst verwijderd."
Weet iemand of daar een soort restrictie op zit (maximaal 10 waarden ofzo) of zie ik iets over het hoofd in mijn code?
Ik heb een keuzelijst met invoervak ("cobStatus") die zijn waarden haalt uit een Excel werkblad ("Comboboxen"). Dat zijn 14 cellen die ik benoemd heb met een naambereik ("lstStatus"). De keuzelijst werkt prima, alle 14 keuzes zijn zichtbaar en te selecteren.
Nu heb ik een code geschreven om een geselecteerde waarde uit die keuzelijst te verwijderen en de cellen onder de verwijdere cel een plaats omhoog te schuiven in het naambereik. Werkt ook prima, echter alleen maar wanneer het de eerste 10 waarden uit de keuzelijst betreft. Waarden op de plek 11 in de lijst en hoger worden niet verwijderd. Er volgt ook geen foutmelding. Hij toont wel de inhoud van de laatste MsgBox "De ingevoerde waarde is succesvol uit de keuzelijst verwijderd."
Weet iemand of daar een soort restrictie op zit (maximaal 10 waarden ofzo) of zie ik iets over het hoofd in mijn code?
Code:
Dim waarde As String
waarde = Trim(cobStatus)
LastRow = Worksheets("Comboboxen").Cells(Rows.Count, 2).End(xlUp).Row
If cobStatus.Value = "" Then
MsgBox "Er is geen waarde geselecteerd."
cobStatus.SetFocus
Exit Sub
End If
If WorksheetFunction.CountIf(Range("lstStatus"), cobStatus.Value) = 0 Then
MsgBox "De ingevoerde waarde kon niet worden gevonden."
Else
For i = 2 To LastRow
If Worksheets("Comboboxen").Cells(i, "C").Value = waarde Then
Worksheets("Comboboxen").Cells(i, "C").Select
Selection.Delete Shift:=xlUp
End If
Next
Range("lstStatus").Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlNo
MsgBox "De ingevoerde waarde is succesvol uit de keuzelijst verwijderd."
End If