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

Lege Rijen verwijderen

Status
Niet open voor verdere reacties.

matthiej88

Gebruiker
Lid geworden
21 jan 2010
Berichten
85
Hallo!

Ik zoek een macro die lege rijen in een sheet verwijderen. Ik heb al een behoorlijk aantal macro's gevonden, maar geen van deze doet precies wat ik zoek, bijvoorbeeld deze:

[XML]Sub legerijen()
For i = Sheets("INVULLING").Range("A65000").End(xlUp).Row To 1 Step -1
' Kolom benoemen -- Kolom G = 8 -- Kolom K = 11
K = 8
If Cells(i, K).Value = "" Or Cells(i, K).Value = " " Then
Rows(i).Delete
End If
Next
End Sub[/XML]

Deze macro werkt niet omdat hij maar in 1 kolom controleert of de rij leeg is, terwijl er in een andere kolom wel een waarde kan staan. Daarnaast lukt het mij niet om de macro te draaien op een ander tabblad dan waarop hij geactiveerd wordt.

Iemand een idee hoe dit op te lossen?

Groeten
 
Deze controleert op werkblad INVULLING of de gehele rij leeg is alvorens te wissen op dat werkblad.
Code:
Sub legerijen()
    With Sheets("INVULLING")
        L_Row = .Range("A65000").End(xlUp).Row
        For i = L_Row To 1 Step -1
            If WorksheetFunction.CountA(.Rows(i)) = 0 Then .Rows(i).Delete
        Next
    End With
End Sub
 
Handig (en sneller) alternatief is het blad te sorteren. Uiteraard ervan uitgaande dat dit kan in jouw situatie.
 
dit is inderdaad misschien handiger, maar deze optie moet ik later al gebruiken om alles op alfabetische volgorde te krijgen.. Ik heb nog geen manier gevonden om dit te combineren..
 
Deze controleert op werkblad INVULLING of de gehele rij leeg is alvorens te wissen op dat werkblad.
Code:
Sub legerijen()
    With Sheets("INVULLING")
        L_Row = .Range("A65000").End(xlUp).Row
        For i = L_Row To 1 Step -1
            If WorksheetFunction.CountA(.Rows(i)) = 0 Then .Rows(i).Delete
        Next
    End With
End Sub

Ïk heb deze macro ingevoegd in mijn document, de tabbladnaam aangepast, maar als ik de macro activeer gebeurd er helemaal niets. Waar kan dit aan liggen? (andere macro's werken wel)
 
met de volgende macro is het wel gelukt:

Sub verwijderen()
With sheets("Blad1")
For I = Range("A65536").End(xlUp).Row To 1 Step -1
If Range("A" & I) = 0 Then
Rows(I).EntireRow.Delete
End If
Next
End Sub

Ik heb in kolom A de volgende formule gezet: =ALS(B5="";ALS(C5="";0;1);1), waardoor er in alle lege rijen (in kolom B of C staat altijd iets) een 0 in kolom A komt te staan.

Beetje omslachtig ;)
 
Mijn macro werkt perfect als de kolommen A, B en C leeg zijn net zoals jij gevraagd had.
waardoor er in alle lege rijen (in kolom B of C staat altijd iets)
????
 
Snap het zelf ook niet. Had hetzelfde net met een andere macro. Excel opnieuw opstarten verhielp 't probleem..
 
Maar is je vraag hiermee opgelost ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan