Rows verwijderen die aan bepaalde voorwaarde voldoen

  • Onderwerp starter Onderwerp starter Ibok
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Ibok

Gebruiker
Lid geworden
29 sep 2010
Berichten
35
Wie o wie ziet waar het in onderstaande code verkeerd gaat?

Ik wil zoeken in kolom C naar cellen die de waarde . bevatten. Zodra de . gevonden is, moet de betreffende regel verwijderd worden en moet verder gezocht worden naar de volgende cel waar de . in voorkomt. Met onderstaande code wordt alleen de eerstgevonden . verwijderd en stopt de macro.

Code:
Sub test()
With Worksheets("blad1").Range("C16:C56")
    Set C = .Find(".", LookIn:=xlFormulas)
    If Not C Is Nothing Then
        firstAddress = C.Address
        Do
            C.EntireRow.Delete
            Set C = .FindNext(C)
        Loop While Not C Is Nothing And C.Address <> firstAddress
    End If
End With
End Sub

Graag jullie hulp! Alvast bedankt!
 
uhm er lijkt niets mis, maar misschien kun je haakjes om (Not C is Nothing) and (C.address <> ...) proberen. Als de NOT en AND in de verkeerde volgorde worden uitgevoerd gaat het in ieder geval fout en loopt je excel vast als er helemaal geen punten zijn.
 
Code:
Sub tst2()
With Sheets("Blad1")
    For i = 56 To 16 Step -1
        If .Cells(i, 3).Value = "." Then .Cells(i, 3).EntireRow.Delete
    Next
End With
End Sub
Rijen verwijderen doe je best van onder naar boven. Dit omdat telkens je een rij verwijdert de rij eronder opschuift naar boven en de code daardoor in de war raakt. Het is ook daarom dat jouw code niet doet wat jij wil.
 
Yeah! Dat werkt warm bakkertje! Ik heb de suggestie van Wampier ook geprobeerd, maar dat werkte helaas niet.

Beide bedankt voor de reactie. Ik kan weer verder!

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