Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Zeilen löschen

Forumthread: Zeilen löschen

Zeilen löschen
25.06.2007 11:19:50
sascha76er
Hallo,
vielleicht kann mir jemand hier weiterhelfen, ich möchte gerne Zeilen löschen bei denen in einer bestimmten Spalte ein bestimmter Wert auftaucht. Dies funktioniert mit dem folgenden Skript mit einem Wert einwandfrei, wie muss ich das Skript abändern damit ich auch mehrere Werte abfragen kann.
Kann man eigentlich mit einem Makro ein anderes anstossen?

Sub ZeilenKiller()
Dim i As Long, laR As Long
Dim sp As Integer
sp = 1  'Spaltennummer (1=A, 2=B, ...)
Application.ScreenUpdating = False
laR = Cells(Rows.Count, sp).End(xlUp).Row
For i = laR To 1 Step -1
If Cells(i, sp).Value = "abc" Then
Cells(i, sp).EntireRow.Delete
End If
Next i
Application.ScreenUpdating = True
End Sub


Gruß
Sascha

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen
25.06.2007 11:21:53
Hajo_Zi
Hallo Sascha,
If Cells(i, sp).Value = "abc" or Cells(i, sp).Value = "Sascha" Then

AW: Zeilen löschen
25.06.2007 11:29:19
sascha76er
Hallo Hajo,
funktioniert einwandfrei, wie sieht es aus wenn ich eine Zeile löschen will wenn der entsprechende Suchwert eine leere Zelle ist?
Gruß
Sascha

Anzeige
AW: Zeilen löschen
25.06.2007 11:37:55
Hajo_Zi
Hallo Sascha,
=""
Gruß Hajo

AW: Zeilen löschen
25.06.2007 12:24:51
sascha76er
Hallo Hajo,
funktioniert alles einwandfrei.
Vielen Dank
Sascha

AW: Zeilen löschen
26.06.2007 01:10:00
Daniel
Hi Sascha
wenn es mehrere Werte sind, bei denen die Zelle gelöscht werden soll, dann ist die SELECT CASE anweisung etwas eleganter und übersichtlicher als IF-THEN, da die einzelnen Bedingungen einfach bei CASE hintereinander aufgelistet werden können.
Es können auch beliebig verschieden CASES für unterschiedliche Aktionen verwendet werden
also in deinem Fall:

For i = laR To 1 Step -1
select case  Cells(i, sp).Value
case "abc", "Sascha", ""      '---das "" steht für Leere Zellen
Cells(i, sp).EntireRow.Delete
case else
'--- hier passiert nichts
end select
Next i


Gruß, Daniel

Anzeige
AW: Zeilen löschen
26.06.2007 11:03:00
sascha76er
Hallo Daniel,
vielen Dank für deine Hilfe , stimmt ist wirklich eleganter werde es dann so einbauen.
Gruß
Sascha
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18