Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1044to1048
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

VBA alles löschen außer ...

VBA alles löschen außer ...
28.01.2009 15:01:00
Norbert
Hallo,
wer kann helfen?
Es sollen alle ZEILEN gelöscht werden, außer diejenigen welche in Spalte A DZ, FU, GA, HA, HE, KU enthalten
Besten Dank für RüA!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA alles löschen außer ...
28.01.2009 16:04:00
Ingo
hallo,

Sub delete_rows()
Dim introw As Long
With ActiveSheet
introw = .Range("A" & .Rows.Count).End(xlUp).Row
Do Until introw = 0
Select Case .Cells(introw, 1)
Case "DZ", "FU", "GA", "HA", "HE", "KU"
'tu nix
Case Else
.Rows(introw).EntireRow.Delete
End Select
introw = introw - 1
Loop
End With
End Sub


mfG
Ingo Christiansen

AW: Alternative für große Datenmengen
28.01.2009 16:16:25
Chris
Servus,
ohne Schleife:

Sub t()
Application.ScreenUpdating = False
Columns(2).Insert
With Range("B:B")
.FormulaR1C1 = "=IF(OR(RC[-1]=""DZ"",RC[-1]=""FU"",RC[-1]=""GA"",RC[-1]=""HE"",RC[-1]=""HA" _
",RC[-1]=""KU""),ROW(),TRUE)"
.Formula = .Value
End With
Cells.Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Cells.SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
Columns(2).Delete
Application.ScreenUpdating = True
End Sub


Voraussetzung ist nur, dass eine Spalte eingefügt werden kann, die im Anschluß wieder gelöscht wird.
Geht wesentlich schneller als mit Schleife.
Gruß
Chris

Anzeige
AW: VBA alles löschen außer ...
28.01.2009 16:54:59
Norbert
Klappt prima!
Danke an alle!

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige