09.09.2020, 13:36
Guten Tag zusammen,
ich nutze derzeit ein Makro, welches leere Zeilen aus einer Tabelle löscht.
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?
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?