Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1060to1064
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

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

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

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige