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

Forumthread: Zeilen löschen, wenn der Zellinhalt rechts...?

Zeilen löschen, wenn der Zellinhalt rechts...?
22.03.2009 16:44:23
Selma
Hallo Leute,
wie kann ich per VBA folgendes erreichen...
in Spalte B ab Zeile 3 möchte ich die Zeilen löschen...
1. ... bei den der Zelleninhalt rechts logo.JPG
2. ... bei den der Zelleninhalt rechts new.gif
3. ... bei den der Zelleninhalt rechts more.gif
4. ... bei den der Zelleninhalt rechts settings.gif
Die letzte Zelle mit Inhalt kann in Spalte B ermittelt werden.
Besten Dank im Voraus !
Viele Grüße,
Selma
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen, wenn der Zellinhalt rechts...?
22.03.2009 16:48:58
Horst
Hi,
If Zelle Like "*logo.JPG" Or _
Zelle Like "*new.gif" Or _
usw.
Beachten, Like beachtet Groß- und Kleinschreibung!
mfg Horst
AW: Zeilen löschen, wenn der Zellinhalt rechts...?
22.03.2009 19:26:48
Selma
Hallo Horst,
ich habe es so probiert:

Sub Zlöschen()
Application.ScreenUpdating = False
start = 3
letzte = ActiveSheet.Range("B65536").End(xlUp).Row
For Each zelle In Range(Cells(start, 2), Cells(letzte, 2))
If zelle.Value Like "*logo.JPG" Or zelle.Value Like "*new.gif" Or zelle.Value Like "*more.gif" _
Or zelle.Value Like "*settings.gif" Then
zelle.Delete
End If
Next
Application.ScreenUpdating = True
End Sub


Nach mehrfachem Ausführen des Makros werden die gewünschte Zeilen gelöscht.
Was mache ich falsch?
Viele Grüße,
Selma

Anzeige
AW: Zeilen bedingt löschen
22.03.2009 20:45:16
Erich
Hi Selma,
erste Frage: Was möchtest du löschen - ganze Zeilen oder nur einzelne Zellen in Spalte B?
Wenn du nur einzelne Zellen löschen willst - wie soll das geschehen? "Delete" hat dafür einen Parameter.
Sollen die Zellen rechts daneben um 1 nach links (xlShiftToLeft)
oder die Zellen darunter um 1 nach oben rutschen (xlShiftUp)?
Falls es um ganze Zeilen geht, probier mal diese beiden Varianten:

Option Explicit            ' IMMER zu empfehlen
Sub Zlöschen3()
Dim start As Long, letzte As Long, lngZ As Long, strW As String, rngD As Range
start = 3
letzte = ActiveSheet.Range("B65536").End(xlUp).Row
For lngZ = letzte To start Step -1
strW = Cells(lngZ, 2).Value
If strW Like "*logo.JPG" Or strW Like "*new.gif" Or _
strW Like "*more.gif" Or strW Like "*settings.gif" Then
If rngD Is Nothing Then
Set rngD = Cells(lngZ, 1)
Else
Set rngD = Union(rngD, Cells(lngZ, 1))
End If
End If
Next lngZ
If Not rngD Is Nothing Then rngD.EntireRow.Delete
End Sub
Sub Zlöschen2()
Dim start As Long, letzte As Long, lngZ As Long, strW As String, rngD As Range
'   Application.ScreenUpdating = False          ' nach dem Test aktivieren
start = 3
letzte = ActiveSheet.Range("B65536").End(xlUp).Row
For lngZ = letzte To start Step -1
strW = Cells(lngZ, 2).Value
If strW Like "*logo.JPG" Or strW Like "*new.gif" Or _
strW Like "*more.gif" Or strW Like "*settings.gif" Then Rows(lngZ).Delete
Next
Application.ScreenUpdating = True
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Zeilen bedingt löschen
22.03.2009 21:03:59
Selma
Hallo Erich,
die ganze Zeilen waren gemeint.
Es funktioniert prima.
Besten Dank !
Viele Grüße,
Selma
AW: Zeilen löschen, wenn der Zellinhalt rechts...?
22.03.2009 21:03:18
Horst
Hi,
For each Next ist in diesem fall nicht geeignet, löschen muss immer von unter erfolgen.
Siehe Antwort von Ernst G.
mfg Horst
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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