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

Delete lines dynamisch in VBA

Status
Niet open voor verdere reacties.

TMD

Gebruiker
Lid geworden
27 jul 2015
Berichten
52
Onderstaande code is onderdeel van een grotere code waarin ik delen van excel bestanden automatisch mail naar een lijst van ontvangers. Ik heb in mijn totaalbestand een kolom (K) toegevoegd met een waarde die Ja en Nee kan zijn. Het is alleen maar nodig om de mensen te mailen die in kolom K een Nee hebben staan. Het lukt me echter niet om deze filtering werkend in mijn vba te krijgen. Mijn VBA-code kennis is niet toereikend genoeg helaas.

Op dit moment sorteer ik kolom k handmatig op alfabetische volgorde, selecteer en verwijder ik de rijen die 'Ja' in kolom K hebben en vervolgens run ik mijn macro die alles automatisch gaat mailen. Het zou mooi zijn als het filteren, selecteren en verwijderen van de rijen automatisch zou gaan.

Iemand enig idee hoe de code er dan uit zou moeten zien?

Code:
Sub Bepaal_Unieke_selectie()
Sheets("Hulpsheet").Range("A:C").ClearContents

ENDLIST = Sheets("Handtekening").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("Handtekening").Range("A1:C" & ENDLIST).Copy Destination:=Sheets("Hulpsheet").Range("B1")
Sheets("Hulpsheet").Range("A1").Formula = "=B1 & C1"
Sheets("Hulpsheet").Range("A1").Copy Destination:=Sheets("Hulpsheet").Range("A2:A" & ENDLIST)

Sheets("Hulpsheet").Range("A1:C" & ENDLIST).RemoveDuplicates Columns:=1, Header:=xlYes

End Sub

Bekijk bijlage Controle standaard Test V1.0.xlsm
 
Met dit deze code worden de regels met ja verwijderd. Probeer het maar eens en hopelijk heb je er wat aan.

Code:
For Each cell In Range("K:K")
    If cell.Value = "Ja" Then
        cell.EntireRow.Delete shift:=xlUp
    End If
Next
 
Niets filteren of verwijderen maar
Code:
with sheets("Handtekening")
For Each cell In .Range("K2:K" & .cells(rows.count,11).end(xlup).row)
    If cell.Value = "Nee" Then
        'hier komt dan je mailprocedure
    End If
Next
end with
 
Ben je bekend met autofilter of uitgebreid filter ?
 
@SNB, nee niet echt maar dat zou me wel ontzettend helpen. Als ik voorafgaand aan de macro die ik heb een submacro zou kunnen zetten die de filter in kolom K op nee zet. Ik neem aan dat alle rijen die dan niet zichtbaar zijn ook niet worden meegenomen in de mailprocedure...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan