• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Rijen verwijderen op basis van checkbox waarde

Status
Niet open voor verdere reacties.

snowseals

Gebruiker
Lid geworden
19 dec 2016
Berichten
77
Ik probeer duplicaten te verwijderen op basis van de waarde (in dit geval, unchecked) in de checkbox.
Wanneer het duplicaat verwijdert is, kan de gehele rij verwijdert worden.
Zodat ik een nette 1. t/m 500. lijst als eindresultaat heb zonder duplicaten.

Code:
Sub RemoveUnCheckedRows()
    
    Dim ctCB As CheckBox

''' Process all checkboxes in the ActiveSheet
    For Each ctCB In ActiveSheet.CheckBoxes
    
    ''' If the checkbox is unchecked, remove the row it's in and the checkbox itself
        If ctCB = 0 Then
            ctCB.TopLeftCell.EntireRow.Delete
            ctCB.Delete
        End If
        
    Next ctCB

End Sub

Ofwel, wanneer checkbox niet aangevinkt is, dan rij verwijderen.
Maar er gebeurt helemaal niets, wanneer ik deze macro uitvoer.

Is dit omdat ik een NL-versie gebruikt van Excel (2019)?
Kan iemand mij helpen? Zie bijlage.
 

Bijlagen

Laatst bewerkt:
De controle in je code is fout.
Doe het eens zo:
Code:
Sub RemoveUnCheckedRows()
    Dim ctCB As Object

    Application.ScreenUpdating = False
    For Each ctCB In ActiveSheet.OLEObjects
        If TypeName(ctCB.Object) = "HTMLCheckbox" Then
            If Not ctCB.Object.Checked Then
                ctCB.TopLeftCell.EntireRow.Delete
                ctCB.Delete
            End If
        End If
    Next ctCB
    Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
Dank je wel @edmoor!
Zie het nu ook, de checkbox heeft een andere verwijzing dan de standaard checkbox naam (aangezien ik het gekopieert heb van een website).

Werkt perfect :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan