Anzeige
Archiv - Navigation
1884to1888
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeile löschen, wenn Zelle leer

Zeile löschen, wenn Zelle leer
25.05.2022 14:06:35
Erika
Hallo,
ich würde gerne einen VBACode für folgendes Ereignis schreiben.
Wenn die Zelle einer Zeile in den Spalten H,I,K,L,M,N UND P leer ist, dann soll die ganze Zeile gelöscht werden, in der die 7 leeren Zelle ist.
Also: Wenn z.B. die Zeile 5 in den Spalten H,I,K,L,M,N und p eine leere Zelle hat, dann soll die ganze Zeile fünf gelöscht werden und nach oben verschoben werden.
Könnt ihr mir vielleicht weiter helfen?
Viele Dank schon mal
Gruß Erika

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile löschen, wenn Zelle leer
25.05.2022 14:34:51
UweD
Hallo
so?

Sub löschen()
Dim TB As Worksheet, RNG1 As Range, RNG2 As Range, LR As Long, i As Long
Set TB = Sheets("Tabelle1")
Set RNG1 = TB.Range("H:N")
Set RNG2 = TB.Range("P:P")
LR = TB.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile des gesamten Blattes
For i = LR To 1 Step -1
If WorksheetFunction.CountBlank(Intersect(RNG1, TB.Rows(i))) + _
WorksheetFunction.CountBlank(Intersect(RNG2, TB.Rows(i))) = 8 Then
TB.Rows(i).Delete xlUp
End If
Next
End Sub
LG UweD
AW: Zeile löschen, wenn Zelle leer
25.05.2022 15:26:05
Daniel
Hi
der beste Weg, Zeilen mit Bedingung zu löschen ist, diese zunächst in einer Hilfsspalte per Formel zu kennzeichnen (Löschen = 0, Behalten = Zeilennummer) und dann das DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN auf diese Tabelle anzuwenden.
das ist sehr schnell auch mit größten Datenmengen. Außerdem kann man das durch ändern der Formel einfach an beliebige andere Löschbedingungen anpassen.

With ActiveSheet.UsedRange
with .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=IF(CountA(RC8,RC9,RC11:RC14,RC16)=0,0,Row())"
.Cells(1, 1).value = 0
.EntireRow.RemoveDuplicates .column, xlno
.ClearContents
end with
end with
die Methode ist nicht nur schnell und flexibel, man kann sie auch von Hand anwenden ohne vorher ein Makro schreiben zu müssen.
Gruß Daniel
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige