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

Zeilen löschen - schneller

Zeilen löschen - schneller
10.07.2003 15:26:57
Gerhard
Hallo,
mit folgendem Code lösche ich aus einer Tabelle bestimmte Zeilen, in welchen in Spalte 3 und Spalte 6 ein kleinerer Wert als ein bestimmter Umsatz steht. Dies dauert aber bei einer Tabelle mit 6000 Zeile ewig lange.
Gibt es eine schnellere Lösung?

Sub Zeilen_löschen1(umsatz)
z = Range("A1").CurrentRegion.Rows.Count
For i = z To 2 Step -1
If Cells(i, 3) <= umsatz And Cells(i, 6) <= umsatz Then Rows(i).Delete
Next i
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen - schneller
10.07.2003 15:37:51
andre
hallo gerhard,
du kannst dazu den autofilter nutzen.
gruss andre
grusss andre

AW: Zeilen löschen - schneller
10.07.2003 15:48:36
Gerhard
Wie kann ich den Autofilter nutzen?
Wenn ich in Spalte 3 "<= umsatz" eingebe, dann sind die Zeilen ja schon weg, welche u.U. in Spalte 3 kleiner als umsatz sind und in Spalte 6 größer als umsatz sind.
Außerdem habe ich einen Fehler in meiner Formel:
Ich möchte alle Zeilen, welche in Spalte 3 kleiner als umsatz, ODER in Spalte 6 kleiner als umsatz sind löschen.

AW: Zeilen löschen - schneller
10.07.2003 16:20:30
andre
hallo gerhard,
mit dem oder passt es mit dem autofilter, wenn es reicht, dass in einer der beiden zellen der wert kleiner ist.
zuerst werden alle aus der einen spalte gefiltert, und von dem was übrig bleibt dann nach der zweiten spalte. angezeigt wird dabei natürlich auch, wenn beide zellen einer zeile kleiner als umsatz sind - willst du die auch löschen?
gruss andre

Anzeige
AW: Zeilen löschen - schneller
10.07.2003 16:35:59
Gerhard
Hallo Andre,
jetzt bin ich ein bisschen verwirrt:
Also:
ich möchte diese Zeilen nicht löschen, in welchen einer der beiden Werte größer als umsatz sind.
Danke Gerhard

AW: Zeilen löschen - schneller
10.07.2003 16:54:20
andre
hallo gerhard,
wenn du schreibst, dass du löschen willst, wenn eine oder die andre kleiner oder gleich umsatz ist, dann löschst du auch die, in denen ein wert größer ist. im ersten beitrag hast du geschrieben, dass beide kleiner sein müssen. später hast du dann geschrieben, dass einer oder der andere kleiner sein soll zum löschen. jetzt schreibst du, dass du nicht löschen willst, wenn einer von beiden größer ist ... das wäre wieder dasselbe
im letzten fall ist es dasselbe wie am anfang ...
gruss andre

Anzeige
AW: Zeilen löschen - schneller
10.07.2003 17:48:26
andre
hallo gerhard,
vielleicht hilft hier auch eine hilfsspalte. dort trägst du deine bedingungen ein
z.b. = wenn(und(c1<10;G1<10);"WAHR";"FALSCH")
und dann kanst du nach dieser Spalte filtern.
gruss andre

AW: Zeilen löschen - schneller
10.07.2003 15:45:15
andre
hallo gerhard,
hier noch ein codeschnipsel zum ausprobieren:

Sub Makro5()
Columns("C:F").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="<=" & umsatz, Operator:=xlAnd
Selection.AutoFilter Field:=4, Criteria1:="<=" & umsatz, Operator:=xlAnd
Rows("2:13").Select
Selection.ClearContents
'oder:
'    Selection.Delete Shift:=xlUp
End Sub

gruss andre

Anzeige
AW: Zeilen löschen - schneller
10.07.2003 15:37:19
ChrisL
Hi Gerhard
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
' Dein Makro
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Gruss
Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige