Item met VBA uit Combobox in Excel verwijderen lukt maar tot 10e item

Status
Niet open voor verdere reacties.

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?


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
 
Plaats een voorbeeld document want ik zie geen combobox objecten.
Het enige dat je doet is regels in een werkblad verwijderen.
 
De combobox staat op een userform. Daar selecteer je 1 item uit de combobox. Daarnaast staat een knop "Verwijderen". Klik je daarop dan wordt de code uitgevoerd en wordt het geselecteerde item verwijderd.
Verwijderen van een item gebeurt dus één voor één. Werkt prima indien een item op plek 1 t/m 10 staat in de combobox (dus ook naambereik in de Excel map). Staat het item op plek 11 of hoger dan wordt er niks verwijderd.

Het celbereik met gevulde waarden is C2:C14. Indien je een waarde kiest uit C2:C11 (eerste 10 waarden) dan verwijderd deze probleemloos. Waarden in C12 (plaats 11) en hoger niet meer.
 
Ik zie nog geen voorbeeld documentje.
 
Wilde net een bestandje plaatsen toen ik de oorzaak al zag. In de derde zin van de code stond een verwijzing naar de verkeerde kolom. De 2 moest een 3 zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan