Clever-Excel-Forum

Normale Version: Leere Zeilen löschen, Prüfung erweitern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Tag zusammen,

ich nutze derzeit ein Makro, welches leere Zeilen aus einer Tabelle löscht. 

Code:
' Variablen MÜSSEN deklariert werden (beugt Fehlern in der Variablenvergabe vor)
Option Explicit

Public Sub LeerzeilenLoeschen()
' Die Variable lngLetzte wird als Typ Long deklariert
Dim lngLetzte As Long
' Die Variable lngZeile wird als Typ Long deklariert
Dim lngZeile As Long
' Bildschirmaktualisierung AUSschalten (Makro läuft schneller, Bildschirm flackert nicht)
Application.ScreenUpdating = False
' Letzte belegte Zelle in Spalte B plus 1 raussuchen und merken
lngLetzte = IIf(IsEmpty(Range("B")), Range("B37").End(xlUp).Row + 1, 37)
' in einer Schleife von dieser Letzten bis Zeile 1 gehen - also von unten nach oben
  For lngZeile = lngLetzte To 9 Step -1
' Wenn die Zelle in der ensprechenden Zeile in Spalte B leer ist
    If Cells(lngZeile, 2) = "" Then
' dann lösche die gesamte Zeile
      Cells(lngZeile, 2).EntireRow.Delete
' Ende der Bedingung
    End If
' Nächste Zeile mit der Bedingung vergleichen
  Next
' Bildschirmaktualisierung EINschalten (nicht vergessen)
Application.ScreenUpdating = True
End Sub

Dieser soll nach Möglichkeit in den Bereichen B9:B37 UND D9:D37 prüfen ob Inhalt in der Zeile ist. Wenn BEIDE leer sind dann soll dieser die Zeile löschen sonst nicht. Weiss jemand wie ich diesen Code dafür umschreiben muss?
Hallo,
Sub LeerzeilenLoeschen()
  Dim rngB As Range, rngD As Range
  On Error Resume Next
  Set rngB = Range("B9:B37").SpecialCells(xlCellTypeBlanks).EntireRow
  Set rngD = Range("D9:D37").SpecialCells(xlCellTypeBlanks).EntireRow
  Application.Intersect(rngB, rngD).Delete
  On Error GoTo 0
End Sub
Gruß Uwe