Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
448to452
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
448to452
448to452
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

wenn, dann löschen

wenn, dann löschen
07.07.2004 16:57:17
Tom
Hallo,
ich suche ein Makro, daß folgendes durchführt:
Es sollen alle Zeilen in einer Mappe gelöscht werden, wenn in Spalte A nicht einer dieser Werte steht:
1304
2220
0351
0404
0413
Wäre super, wenn mir jemand einen Lösungsansatz hätte.
Gruß und danke vorab.
Tom

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

Betreff
Datum
Anwender
Anzeige
AW: wenn, dann löschen
Willie
Hallo Tom
versuch es mal so!
Gruß
Willie

Sub delneq()
Dim delrow As Variant
Dim wert As String
For i = 1 To 200
wert = Cells(i, 1).Value
If wert = "1304" Or wert = "2220" Or wert = "0351" Or wert = "0404" Or wert = "0413" Then
Else
Range(Cells(i, 1), Cells(i, 255)).Select
Selection.Delete Shift:=xlUp
i = i - 1
End If
Next
End Sub

AW: wenn, dann löschen
07.07.2004 17:58:52
SteffenS
hier mal ein Ansatz.....

Sub testmakro()
For i = 1 To 5000 --> Endzeile
If Cells(i, 1).Value <> "1304" And Cells(i, 1).Value <> "2220" And Cells(i, 1).Value <> "0351" And Cells(i, 1).Value <> "0404" And Cells(i, 1).Value <> "0413" Then
Rows(i).Delete
End If
Next i
End Sub

Viel Spaß damit
Steffen Schmerler
Anzeige
AW: wenn, dann löschen
WernerB.
Hallo Tom,
was hältst Du hiervon?

Sub Tom()
Dim i As Long, laR As Long
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 1).End(xlUp).Row
For i = laR To 1 Step -1
If Cells(i, 1).Value <> "1304" And _
Cells(i, 1).Value <> "2220" And _
Cells(i, 1).Value <> "0351" And _
Cells(i, 1).Value <> "0404" And _
Cells(i, 1).Value <> "0413" Then
Cells(i, 1).EntireRow.Delete
End If
Next i
Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.
P.S.
Das Forum lebt auch von den Rückmeldungen der Fragesteller!
Anzeige
AW: wenn, dann löschen
Tom
Hallo Werner,
genau das suche ich. Leider löscht Dein Code auch einige der vorgegebenen nicht zu löschenden Zeilen (es bleiben nur "1304" und "2220" übrig). Anbei mal die Datei. Alle nicht zu löschenden Zeilen sind gelb markiert. https://www.herber.de/bbs/user/8223.xls
Ich habe auch die Codes von Willie und Steffen (danke auch Euch beiden) eingebaut - leider hängen diese Codes sich immer auf (Endlosschleife?) ...
Wäre super, wenn die Codes von (Dir) Euch nochmals angepaßt werden könnten.
Danke vorab
Gruß
Tom
AW: wenn, dann löschen
WernerB.
Hallo Tom,
das lag wohl an der Formatierung mit den führenden Nullen. Außerdem: was ist richtig, 0413 oder 0431 (Zahlendreher?)?
So sollte es jetzt aber funzen:

Sub Tom()
Dim i As Long, laR As Long
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 1).End(xlUp).Row
For i = laR To 1 Step -1
If Cells(i, 1).Text <> "1304" And _
Cells(i, 1).Text <> "2220" And _
Cells(i, 1).Text <> "0351" And _
Cells(i, 1).Text <> "0404" And _
Cells(i, 1).Text <> "0413" Then
Cells(i, 1).EntireRow.Delete
End If
Next i
Application.ScreenUpdating = True
End Sub

Gruß
WernerB.
Anzeige
AW: wenn, dann löschen
Tom
Genial - vielen vielen Dank.
Tom

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige