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

Flupken

Gebruiker
Lid geworden
6 jul 2007
Berichten
30
Hoy,
ik vond hier tussen de vragen reeds een gedeeltelijk antwoord.
De makro werkt echter niet wanneer de lege cellen het resultaat zijn van een formule.
onware waarde geeft "".
Wanneer ik het blad kopieer en speciaal plak, enkel de waarden, werkt de macro ook niet.
Hoe kan ik dit oplossen pls.

Grts, Flupken.


Sub LegeRijWissen()

Dim r As Long
Dim C As Range
Dim N As Long
Dim Rng As Range

On Error GoTo EndMacro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

If Selection.Rows.Count > 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange.Rows
End If
N = 0
For r = Rng.Rows.Count To 1 Step -1
If Application.WorksheetFunction.CountA(Rng.Rows(r).EntireRow) = 0 Then
Rng.Rows(r).EntireRow.Delete
N = N + 1
End If
Next r

EndMacro:

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub
 
Had je de zoekfunctie gebruikt, was je ondermeer hierop gestuit.
 
1 oneliner volstaat:

Code:
sub weg()
  columns(1).specialcells(xlcelltypeblanks).entirerow.delete
End sub
 
Flupken, probeer volgende code uit op een kopie van je bestand.

Code:
Sub Delete_BlankRow()
'Delete empty rows WITH formula that has no value
'By Jindon (Ozgrid.com)
    Dim i As Integer, x, y
    Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    With ActiveSheet
        x = .Range("a1").CurrentRegion.Rows.Count
        For i = x To 1 Step -1
            .Cells(i, 256).FormulaR1C1 = _
            "=  SumProduct((len(rc[-255]:rc[-1])>0)*(rc[-255]:rc[-1]<>0))"
            y = .Cells(i, 256).Value
            If y = 0 Then
                .Rows(i).Delete
                i = i
            End If
        Next
        .Columns(256).ClearContents
    End With
End Sub

Mvg

Rudi
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan