Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
944to948
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
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile löschen, wenn zelle leer

Zeile löschen, wenn zelle leer
24.01.2008 14:26:00
Jonatan
Hallo,
ich würde gerne einen VBACode für folgendes Ereignis schreiben.
Wenn in Spalte A eine Zelle leer ist, dann soll die ganze Zeile gelöscht werden, in der die leere Zelle ist.
Also: Wenn z.B. a5 eine leere Zelle ist, 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ß Jonatan

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile löschen, wenn zelle leer
24.01.2008 14:31:00
Waven
Hallo Jonatan
Du kannst dazu folgendes Makro verwenden.

Sub Zeilen_loeschen()
Dim loeschen As Double
For loeschen = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(loeschen, 1).Value = "" Then
Rows(loeschen).Delete
End If
Next loeschen
End Sub


Gruss
Waven

AW: Zeile löschen, wenn zelle leer
24.01.2008 14:32:00
Jonatan
Hallo Waven,
sehr cool!!!
funktioniert toll.
Vielen Dank
Gruß Jonatan

AW: Zeile löschen, wenn zelle leer
24.01.2008 14:38:32
Peter
Hallo Jonatan,
so sollte es gehen:
Option Explicit

Public Sub LeereRaus()
Dim WkSh     As Worksheet
Dim lLetzte  As Long
Dim lZeile   As Long
Application.ScreenUpdating = False
Set WkSh = Worksheets("Tabelle1")  ' 


Gruß Peter

Anzeige
AW: Zeile löschen, wenn zelle leer
24.01.2008 14:39:51
Jonatan
Hallo Peter,
vielen Dank.
Funktioniert auch super.
Gruß Jonatan

AW: Zeile löschen, wenn zelle leer
24.01.2008 14:40:09
Peter
Hallo Jonatan,
eine kleine Korrektur For lZeile = lLetzte To 1 Step -1
Gruß Peter

AW: Zeile löschen, wenn zelle leer
25.01.2008 02:20:00
Daniel
Hi
warum immer so aufwendigen und vorallem langsamen Code?
wenn die Zelle wirklich leer ist (also keine Formel mit dem Ergebnis ""), dann gehts auch mit diesem Code:

Sub Makro2()
If WorksheetFunction.CountIf(Range("a:a"), "") > 0 Then _
Range("A:A").SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp
End Sub


wenns grosse Datenmengen sind und viele Zeilen gelöscht werden sollen, ist das hier zu empfehlen
die bisher gezeigten Schleifen kannst du dann vergessen.


Sub Makro3()
Columns(1).Insert
With Range("A1:A" & Cells(Rows.Count, 2).End(xlUp).Row)
.Formula = "=IF(RC[1]="""",true,Row())"
.Formula = .Value
.CurrentRegion.Sort key1:=Cells(1, 1), Order1:=xlAscending, header:=xlNo
.SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
End With
Columns(1).Delete
End Sub


Gruss, Daniel

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige