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

op basis van lege cel regel verwijderen, macro

Status
Niet open voor verdere reacties.

Peer44

Gebruiker
Lid geworden
25 jan 2008
Berichten
224
Hallo,

Ik heb een macro opgenomen die in cel j7 een autofilter plaatst.
De lege cellen worden geselecteerd en de complete rijen worden verwijderd.

daarna moeten de filter weer uitgeschakeld worden.
Ik heb diverse threads bekeken maar ik kom er niet aan uit. het probleem is dat ik geen vast bereik heb. de ene keer zijn het 100 regels de andere keer bijv. 250.

hoe kan ik dit verwerken in de code?

Code:
Sub verwijder_lege_rijen_()
'
' verwijder_lege_rijen_ Macro
' Via autofilter worden de lege cellen in kolom j geselecteerd vanaf cel J8, de selectie wordt verwijderd en de autofilter wordt weer uitgeschakeld.
'
' Sneltoets: Ctrl+Shift+D
'
    Range("J7").Select
    Selection.AutoFilter
    ActiveSheet.Range("$C$7:$J$207").AutoFilter Field:=8, Criteria1:="=" & Chr(10) & "", _
        Operator:=xlOr, Criteria2:="="
    Rows("19:207").Select
    Range("B19").Activate
    Selection.Delete Shift:=xlUp
    Range("J148").Select
    Selection.AutoFilter
End Sub

bij voorbaat dank
 
Post eens een voorbeeldbestandje met daarin aangegeven wat je precies wil bereiken.
 
Cobbe heeft gelijk een voorbeeldbestandje is wel zo makkelijk.

Maar bedoel je zoiets?

Code:
Sub verwijder_lege_rijen_()
' verwijder_lege_rijen_ Macro
' Via autofilter worden de lege cellen in kolom j geselecteerd vanaf cel J8, de selectie wordt verwijderd en de autofilter wordt weer uitgeschakeld.

' Sneltoets: Ctrl+Shift+D
Dim irow As Integer
Application.ScreenUpdating = False
irow = ActiveSheet.Cells(Rows.Count, 10).End(xlUp).Row
x = WorksheetFunction.CountIf(Range("$j$7:$J$" & irow), "")
If WorksheetFunction.CountIf(Range("$j$7:$J$" & irow), "") = 0 Then Exit Sub
ActiveSheet.Range("$C$7:$J$" & irow).AutoFilter Field:=8, Criteria1:="=" & Chr(10) & "", _
    Operator:=xlOr, Criteria2:="="
Rows("8:" & irow).Delete Shift:=xlUp
Selection.AutoFilter
Application.ScreenUpdating = True
End Sub

Niels
 
Niels bedankt,

dit is precies wat ik bedoelde,werkt perfect.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan