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

Zeilen löschen

Forumthread: Zeilen löschen

Zeilen löschen
25.06.2007 09: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 09: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 09: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 09:37:55
Hajo_Zi
Hallo Sascha,
=""
Gruß Hajo

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

AW: Zeilen löschen
25.06.2007 23: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 09:03:00
sascha76er
Hallo Daniel,
vielen Dank für deine Hilfe , stimmt ist wirklich eleganter werde es dann so einbauen.
Gruß
Sascha
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige