Anzeige
Archiv - Navigation
1068to1072
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

Löschen von Zeilen / Kriterien

Löschen von Zeilen / Kriterien
24.04.2009 11:50:42
Zeilen
Hallo,
ich würde gerne eine Liste mit Spalten per Makro insofern kürzen, dass alle Datensätze enfernt werden, die zwar in Spalte 1 einen Wert enthalten, aber in Spalte 5 keinen Wert aufweisen.
Gruß
Bernd

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Löschen von Zeilen / Kriterien
24.04.2009 12:09:30
Zeilen
Servus Bernd,
wenn die Möglichkeit besteht, eine Hilfsspalte einzuführen, dann würde ich es so machen:

Sub lösch()
Dim lngletzte As Long, letzteSpalte As Long
letzteSpalte = 5
lngletzte = Range("A65536").End(xlUp).Row
Columns(1).Insert
With Range("A1:A" & lngletzte)
.FormulaR1C1 = "=IF(AND(RC[1]"""",RC[5]""""),ROW(),TRUE)"
.Formula = .Value
End With
Range(Cells(1, 1), Cells(lngletzte, letzteSpalte + 1)).Sort Key1:=Range("A1"), Order1:= _
xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
With Range("A1:A" & lngletzte)
.SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
End With
Columns(1).Delete
End Sub


Hierbei ist lngSpalte = 5 die letzte Spalte die mitsortiert wird. Die Sortierung erfolgt wegen der höheren Schnelligkeit des Makros, wenn die Specialcells im Block stehen. wenn der Bereich größer ist einfach statt 5 die entsprechende Spaltenzahl der Tabelle eintragen.
Das Makro kommt in das entsprechende Tabellenmodul.
Gruß

Anzeige
AW: Löschen von Zeilen / Kriterien
24.04.2009 13:56:59
Zeilen
Hallo Chris,
klappt soweit vorzüglich, mir ist aber gerade aufgefallen, dass auch Zellwerte mit 0 (Null) auftauchen, die ebenfalls rausfallen sollten.
Wie muss ich den Code ändern?
Viele Grüße
Bernd
AW: Löschen von Zeilen / Kriterien
24.04.2009 14:36:48
Zeilen
Servus Bernd,
ersetze im Makro:
.FormulaR1C1 = "=IF(AND(RC[1]"""",RC[5]""""),ROW(),TRUE)"
durch:
.FormulaR1C1 = "=IF(AND(RC[1]"""",RC[5]""""),IF(RC[5]0,ROW(),TRUE),TRUE)"
Gruß
Chris
AW: alternativ mit Autofilter
25.04.2009 11:04:40
Daniel
Hi
setzte doch einfach den Autofilter in Spalte 1 auf "nichtleere" und in Spalte 5 auf "leere"
dann alles ausser der Überschrift markieren, BEARBEITEN - GEHE ZU - INHALTE - SICHTBARE ZELLEN klicken und die Zeilen löschen.
dann den autofilter wieder aufheben.
falls du es als Makro brauchst, lass den Recorder mitlaufen.
bei grossen Datenmengen (mehr als 16000 Zeilen) wäre es u.U. erforderlich, die Daten vorher nach Spalte 1 und Spalte 5 zu sortiern, so daß die zu löschenden Zeilen zusammenhängende Blöcke bilden.
das vereinfacht Excel die Arbeit und beschleunigt das ganze.
Gruß, Daniel
Anzeige
Alles klar, danke!
27.04.2009 15:34:07
Bernd
Hallo Daniel,
gute Idee, danke Dir!
Viele Grüße
Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige