Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Leere Zeilen löschen, Prüfung erweitern
#1
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?
Antworten Top
#2
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
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • elamigo
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste