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

Macro voor verwijderen lege regels

Status
Niet open voor verdere reacties.

ronald1986

Gebruiker
Lid geworden
2 apr 2010
Berichten
296
Hallo allemaal,

Ik heb in een excel sheet kolom A gevuld met gegevens, de andere kolommen zijn leeg.
Echter zijn niet alle regels in kolom A gevuld, oftewel er zitten soms lege cellen tussen de gegevens in kolom A.
Nou is mijn vraag of iemand misschien een macro heeft die deze lege regels verwijdert zodat er een lijst met gegevens ontstaat zonder lege cellen daartussen.
Is er misschien iemand die mij hiermee kan helpen?

Met vriendelijke groet,

Ronald Buikema
 
Code:
Columns(1).SpecialCells(xlCellTypeBlanks).Delete
 
Deze macro heb ik overgenomen

Sub LegeRegelsWeg()
On Error Resume Next
Columns(1).SpecialCells(4).EntireRow.Delete
End Sub

Maar deze verwijderd regels als de cel in kolom A leeg is. Wie kan deze aanpassen voor mij zodat lege regels alleen verwijderd worden als de regel daadwerkelijk leeg is over de gehele breedte van het spreadsheet en niet alleen als de cel in kolom A leeg is.

Hierdoor ben ik nu regels kwijt waarbij er vanaf kolom B ev wel tekst ed heeft gestaan.

Bij voorbaat dank. (nee, heb ik geen VBA kennis om het zelf te kunnen)

PS bestaat er een ctrl-Z optie om uitgevoerde macro's terug te draaien cq te herstellen?
 
Hoeveel kolommen gebruik je ?
Antwoord op je tweede vraag is' Neen' , er bestaat geen Undo-functie om een uitgevoerde macro terug te draaien.
 
Ik was al aan het zoeken, want ik heb ooit een macro gehad waarbij het aantal kolommen geen issue was voor het verwijderen van lege regels. Dat was toen een macro die de gehele regel als het ware scande om te zien of die wel/niet leeg was. Want ik zet die macro standaard onder een knop om variabel te kunnen gebruiken.

Maar voor dit bestand betreft het vooralsnog om 25 kolommen.

Bedankt voor je antwoord dat er geen undo functie bestaat voor macro's
 
Test deze eens op een kopie van je bestand
Code:
Sub tst()
With Sheets("Blad1") ' vul hier de juiste bladnaam in
    For i = .UsedRange.Rows.Count To 1 Step -1
        If WorksheetFunction.CountA(.Rows(i)) = 0 Then
            .Rows(i).EntireRow.Delete
        End If
    Next
End With
End Sub
 
Fout 9 tijdens uitvoering

Het subscript valt buiten het bereik
 
Heb je de bladnaam aangepast zoals in de opmerking stond ?
 
Oeps, even over het hoofd gezien.

Ja, nu doet het wel.

Maar is het nu mogelijk een macro ervan te maken die zonder bladnaam definitie kan werken?
 
Laatst bewerkt:
Wijzig Sheets("Blad1") in Activesheet en dan werkt hij voor het op dat moment actieve blad
 
Zet je de vraag dan nog even op opgelost :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan