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

leere Zeilen löschen / For Schleife

leere Zeilen löschen / For Schleife
04.09.2007 15:34:36
Robert
Hallo zusammen,
ich hoffe es kann mir jemand weiterhelfen, habe hier eine Schleife die leere Zeilen die ein paar deffinierte Variablen und zu guter letzt leere Zeilen löschen soll, das mit den Variablen klapt auch hervorragend, allerdings bereitet mir das löschen der Leeren Zeilen etwas Probleme, denn aus für mich unverständlichen Gründen löscht er eingige aber nicht alle.
Hier der Code:
Dim Ausgangspunkt As Range
Dim Zelle As Range
Dim Auswahlbereich As Range
On Error Resume Next
Set Ausgangspunkt = Range("A7")
If Ausgangspunkt Is Nothing Then Exit Sub
On Error GoTo 0
Set Auswahlbereich = Range(Ausgangspunkt, Cells(Rows.Count, 1).End(xlUp).Offset(0, Ausgangspunkt.Column - 1))
For Each Zelle In Auswahlbereich
If Zelle.Value = v1 Then
Range(Zelle, Zelle.Offset(0, 0)).EntireRow.Delete
End If
Next Zelle
For Each Zelle In Auswahlbereich
If Zelle.Value = v2 Then
Range(Zelle, Zelle.Offset(0, 0)).EntireRow.Delete
End If
Next Zelle
For Each Zelle In Auswahlbereich
If Zelle.Value = v3 Then
Range(Zelle, Zelle.Offset(0, 0)).EntireRow.Delete
End If
Next Zelle
For Each Zelle In Auswahlbereich
If Zelle.Value = v4 Then
Range(Zelle, Zelle.Offset(0, 0)).EntireRow.Delete
End If
Next Zelle
For Each Zelle In Auswahlbereich
If Zelle.Value = Empty Then
Range(Zelle, Zelle.Offset(0, 0)).EntireRow.Delete
End If
Next Zelle

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: leere Zeilen löschen / For Schleife
04.09.2007 15:38:00
Chaos
servus,
löschen immer von unten nach oben:
z.B.:
letzte = Range("A65536").end8xlup).Offset(0, 0).Row
For zeile = letzte To 1 Step -1
If Cells(zeile,1).value = "" then
cells(zeile,1).EntireRow.Delete
End if
Next zeile
gruß
Chaos

AW: leere Zeilen löschen / For Schleife
04.09.2007 15:44:08
Robert
Schon mal vielen Dank,
mir geht es gerade um das verständnis, was denn verkehrt an dem Ausdruck "If Zelle.Value = Empty Then" das er nicht alle leeren löscht.
Danke!

AW: leere Zeilen löschen / For Schleife
04.09.2007 15:54:46
Rudi
Hallo,
es müsste heißen
if isempty(zelle) Then
bei
If Zelle.Value = Empty
wird der Inhalt der Zelle mit der Variablen 'Empty' verglichen.
Immer Option Explicit in den Kopf eines Moduls!
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: leere Zeilen löschen / For Schleife
04.09.2007 16:02:00
Robert
Vielen Dank, das erklärt einiges, dachte nur da Empty blau hinterlegt wurde ist es keine Veriable sondern ein Ausdruck gewesen.
Ganz Herrzlichsten!!!

AW: leere Zeilen löschen / For Schleife
04.09.2007 16:04:27
Robert
Vielen Dank, dachte nur da Empty blau hinterlegt wurde ist es keine Veriable sondern ein Ausdruck gewesen.
Wenn ich "if isempty(zelle) Then" benutze kommt das selbe ergebnis heraus, es werden wieder nicht alle leeren Zeilen gelöscht.
Vieleicht noch eine Idee?

AW: leere Zeilen löschen / For Schleife
04.09.2007 15:50:58
Rudi
Hallo,
mein Vorschlag:

Sub tt()
Dim Zelle As Range
Dim Auswahlbereich As Range
Set Auswahlbereich = Range(Cells(7, 1), Cells(Rows.Count, 1).End(xlUp))
For Each Zelle In Auswahlbereich
Select Case Zelle.Value
Case v1, v2, v3, v4: Zelle.ClearContents
End Select
Next Zelle
Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: leere Zeilen löschen / For Schleife
04.09.2007 15:52:53
Chaos
Servus,
der ganze TeilCode funktioniert ja:
For Each Zelle In Auswahlbereich
If Zelle.Value = Empty Then
Range(Zelle, Zelle.Offset(0, 0)).EntireRow.Delete
End If
Next Zelle
Aber:
Das Makro geht die Zellen von oben nach unten durch ,somit wird, wenn In Zeile 5 eine leere Zelle im Auswahlbereich steht, die gesamte Zeile gelöscht. Und Zeile 6 wird zu Zeile 5, die hat das makro aber schon überprüft und macht deswegen mit Zeile 7 weiter.
Wenn also in Zeile 6 auch eine leere Zelle ist, dann wird diese Zeile nicht gelöscht, weil es ja jetzt Zeile 5 ist.
Gruß
Chaos

Anzeige
AW: leere Zeilen löschen / For Schleife
04.09.2007 15:56:00
Rudi
Hallo,

If Zelle.Value = Empty Then


das ist definitiv falsch!
If IsEmpty(Zelle) Then...
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: leere Zeilen löschen / For Schleife
04.09.2007 16:00:00
Chaos
Du hast recht Rudi,
manchmal sollte man eben genauer hinschauen.
Gruß
Chaos

AW: leere Zeilen löschen / For Schleife
04.09.2007 16:06:00
Robert
Jetzt verstehe ich es, danke nochmal, seid immer eine riesen hilfe!!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige