• 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.

Formule in vba corrigeren

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
865
Bedoeling is alle rijen te verwijderen waarvoor in kolom B de celinhoud begint met ZZ.
Ik weet niet hoe ik de code aanpas. Kan iemand helpen aub. Waarvoor dank.

Code:
Sub Test()
For j = 2000 To 2 Step -1
    If Cells(j, 2).Value = "ZZ*" Then Cells(j, 2).Rows.EntireRow.Delete
Next j
End Sub
 
Zo wellicht?

Code:
Sub Test()
For j = 2000 To 2 Step -1
    If Cells(j, 2).Value = "ZZ*" Then Cells(j, 2).EntireRow.Delete
Next j
End Sub
 
Ik heb het nu aangepast naar

Code:
Sub Test()
For j = 2000 To 2 Step -1
    If Left(Cells(j, 2).Value, 2) = "ZZ" Then Cells(j, 2).Rows.EntireRow.Delete
Next j
End Sub

maar dat duurt lang .... wellicht kan het veel sneller

PS Haije, jouw voorstel werkt niet, wellicht de wildcard * na ZZ ?
 
Laatst bewerkt:
en als je .Rows weglaat?
 
Voor de snelheid, doe het zo:
Code:
Sub Test()
    sCalc = Application.Calculation
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False

    For j = 2000 To 2 Step -1
        If Left(Cells(j, 2).Value, 2) = "ZZ" Then Cells(j, 2).Rows.EntireRow.Delete
    Next j

    Application.Calculation = sCalc
    Application.ScreenUpdating = True
End Sub
 
Voor snelheid gebruik je een andere methode
Code:
Sub VenA()
  With Cells(1).CurrentRegion
    .AutoFilter 2, "ZZ"
    .Offset(1).EntireRow.Delete
    .AutoFilter
  End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan