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

regels verwijderen 2 criteria

Status
Niet open voor verdere reacties.

beer58

Gebruiker
Lid geworden
23 sep 2009
Berichten
27
Ik heb een bestand, waarvan ik een aantal regels wil verwijderen die aan twee criteria voldoen
in kolom A staat een datum
in kolom B staat de naam van de klant


De regel moet verwijderd worden indien de datum > dan vandaag (H1) en als in kolom B de naam staat vermeld in het zoekveld (C4)



regel.JPG


Dim klant As String
Dim Laatsterij As Long
Dim Regelnummer As Long
Dim Aantalverwijderd As Integer
Dim Eersterij As Integer

klant = Range("C4")
Sheets("afspraak").Select
Aantalverwijderd = 0
Laatsterij = ActiveSheet.UsedRange.Rows.Count
Regelnummer = Laatsterij
Application.Calculation = xlManual
With Sheets("Afspraak")
For Regelnummer = Laatsterij To Eersterij

If Range("A + chr (Regelnummer)") > (Date + 1) Then
If Range("B" & Regelnummer) = klant Then
Rows(ActiveCell.Row).EntireRow.Delete
Aantalverwijderd = Aantalverwijderd + 1

End If
End If

Regelnummer = Regelnummer - 1
Next Regelnummer
End With

MsgBox ("er zijn " & Aantalverwijderd & " records verwijderd")


Application.Calculation = xlAutomatic
 
Sorry hoor, maar een lid sinds 2009 zou toch moeten weten dat je code in codetags moet plaatsen en tevens een voorbeeld documentje bijvoegen.
 
bestand

Hierbij een gedeelte van het bestand
 

Bijlagen

  • Map12.xlsx
    1,6 MB · Weergaven: 17
bedoel je zoiets?
 

Bijlagen

  • Map12.xlsm
    1,6 MB · Weergaven: 19
of zoiets?
 

Bijlagen

  • Map12.xlsm
    1,7 MB · Weergaven: 7
Met een aantal wijzigingen in je eigen code werkt het ook, zoek de verschillen:

Code:
Sub Test()
    Dim klant As String
    Dim Laatsterij As Long
    Dim Regelnummer As Long
    Dim Aantalverwijderd As Integer
    Dim Eersterij As Integer
    Eersterij = 2
    klant = Sheets("Verwijderen afspraak").Range("C4")
    Sheets("afspraak").Select
    Aantalverwijderd = 0
    Laatsterij = ActiveSheet.UsedRange.Rows.Count
    Regelnummer = Laatsterij
    Application.Calculation = xlManual
    For Regelnummer = Laatsterij To Eersterij Step -1
        If Cells(Regelnummer, 1) > (Date + 1) Then
            If Cells(Regelnummer, 2) = klant Then
                Rows(Regelnummer).EntireRow.Delete
                Aantalverwijderd = Aantalverwijderd + 1
            End If
        End If
    Next Regelnummer
    
    MsgBox ("Er zijn " & Aantalverwijderd & " records verwijderd")
    
    Application.Calculation = xlAutomatic
End Sub
 
Range("H1") is overbodig geworden door de code.
Code:
Sub hsv()
With Sheets("afspraak").Cells(1).CurrentRegion
  .AutoFilter 1, ">" & CLng(Date)
  .AutoFilter 2, Sheets("verwijderen afspraak").Range("c4")
  .Offset(1).EntireRow.Delete
  .AutoFilter
End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan