Ta bort tomma rader utifrån villkor

Här demonstreras hur vi kan ta bort tomma rader där vissa villkor ställs för borttag av rader.

Förutsättningar för exemplet:

 

Option Explicit  

Sub Ta_Bort_Rader_Villkor()

   '© 2002 Alla rättigheter XL-Dennis

   Dim wbBok As Workbook

   Dim wsBlad As Worksheet

   Dim rnOmrade As Range

   Dim lnSistaRaden As Long, lnFlerRader As Long

   Dim i As Long, j As Long, k As Long

 

   Set wbBok = ThisWorkbook

    Application.ScreenUpdating = False

 

   'Här bestämmer vi antalet rader som ska tas bort.

   j = 10

    For Each wsBlad In wbBok.Worksheets

      With wsBlad

         'Här identifieras antal ifyllda rader i A-kolumnen, vilken

         'i nästa steg ska jämföras med de övriga kolumnerna

         lnSistaRaden = .Cells(Rows.Count, 1).End(xlUp).Row + 1

         'Här loopas B- t o m J-kolumnen igenom och innehåller någon av dessa

         'kolumner flera ifyllda celler än i A-kolumnen eller i föregående kolumn

         'ersätter det nya antalet rader det tidigare antalet.

         For k = 1 To 8

            lnFlerRader = .Cells(Rows.Count, k).End(xlUp).Row + 1

            If lnSistaRaden < lnFlerRader Then

               lnSistaRaden = lnFlerRader

            End If

         Next k

         'Här tas tomma rader bort utifrån om celler i A-kolumnen är tomma eller inte.

         For i = lnSistaRaden To 1 Step -1

            If IsEmpty(.Cells(i, 1)) Then

               .Cells(i, 1).Resize(j, 1).EntireRow.Delete

            End If

         Next i

      End With

   Next wsBlad

 

   Application.ScreenUpdating = True

End Sub