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

Bestimmte Adressen löschen

Bestimmte Adressen löschen
11.03.2006 13:24:26
Heiko
Hallo,
kann mir bitte jemand weiterhelfen? Ich möchte aus einem Sheet bestimmte Zeilen löschen. Es liegen Email-Adressen in einer Spalte vor. Alle, welche mit info@ beginnen und evtl. auch alle die nicht mit .de enden, sollen gelöscht werden.
Ich habe es bereits mit den beiden Sub's versucht, aber das klappt nicht so.

Sub Endung_Nicht_DE_löschen()
Dim l As Long, zl As Long, zlNeu As Long
Worksheets("Tabelle1").Activate
If MsgBox("Alle die nicht mit .de enden löschen?", vbYesNo + vbDefaultButton2 _
+ vbQuestion, "Einträge entfernen") = vbNo Then Exit Sub
zl = ActiveSheet.UsedRange.Rows.Count
Range("A1").Select
For l = 1 To zl
If ActiveCell.Value <> "*.de" Then Selection.EntireRow.Delete
ActiveCell.Offset(1, 0).Select
Next l
zlNeu = ActiveSheet.UsedRange.Rows.Count
MsgBox zl - zlNeu & " Einträge wurden erfolgreich gelöscht.", vbInformation
End Sub


Sub Beginn_Info_löschen()
Dim l As Long, zl As Long, zlNeu As Long
Worksheets("Tabelle1").Activate
If MsgBox("Alle mit info@ löschen?", vbYesNo + vbDefaultButton2 _
+ vbQuestion, "Einträge entfernen") = vbNo Then Exit Sub
zl = ActiveSheet.UsedRange.Rows.Count
Range("A1").Select
For l = 1 To zl
If ActiveCell.Value = "info@*" Then Selection.EntireRow.Delete
ActiveCell.Offset(1, 0).Select
Next l
zlNeu = ActiveSheet.UsedRange.Rows.Count
MsgBox zl - zlNeu & " Einträge wurden erfolgreich gelöscht.", vbInformation
End Sub

Vielen Dank im voraus.
Gruß
Heiko

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Adressen löschen
11.03.2006 13:51:46
IngGi
Hallo Heiko,
ich hab einfach mal was eigenes geschrieben. Sollte funktionieren.

Sub Zeilen_loeschen()
Dim lngZeile As Long
Dim info As Byte
Dim de As Byte
info = MsgBox("Alle Adressen, die mit ""info@"" beginnen löschen?", vbYesNo)
de = MsgBox("Alle Adressen, die mit "".de"" enden löschen?", vbYesNo)
For lngZeile = Range("A65536").End(xlUp).Row To 1 Step (-1)
If (Left(Range("A1").Offset(lngZeile - 1, 0), 5) = "info@" And info = 6) _
Or (Right(Range("A1").Offset(lngZeile - 1, 0), 3) = ".de" And de = 6) Then
Range("A1").Offset(lngZeile - 1, 0).EntireRow.Delete
End If
Next 'lngZeile
End Sub
Gruss Ingolf
Anzeige
AW: Bestimmte Adressen löschen
11.03.2006 13:55:40
Claus
Die Antwort auf die erste Frage könnte so lauten:

Sub Endung_Nicht_DE_löschen()
Dim i As Long, zl As Long, zlNeu As Long
Worksheets("Tabelle1").Activate
If MsgBox("Alle die nicht mit .de enden löschen?", vbYesNo + vbDefaultButton2 _
+ vbQuestion, "Einträge entfernen") = vbNo Then Exit Sub
zl = ActiveSheet.UsedRange.Rows.Count
Range("A1").Select
For i = 1 To zl
Cells(i, 1).Select
If Right(ActiveCell, 3) = ".de" Then
Selection.EntireRow.Delete
i = i - 1
Else
End If
Next i
zlNeu = ActiveSheet.UsedRange.Rows.Count
MsgBox zl - zlNeu & " Einträge wurden erfolgreich gelöscht.", vbInformation
End Sub

Funktioniert bei mir mit einer ziemlich langen Adressenliste.
Gruß
Claus
Anzeige
AW: Bestimmte Adressen löschen
11.03.2006 15:14:10
Heiko
Hallo,
ich bedanke mich sehr bei Euch. Nach einigem Testen und nach "Gefühl", habe ich mich für die nachstehende Lösung entschieden. Sollte noch jemand eine schnellere oder bessere Lösung haben, würde ich gerne testen. Habe den Thread trotzdem mal geschlossen.

Sub Endung_Nicht_DE_löschen()
Dim lngZeile As Long
Dim zl As Long, zlNeu As Long
If MsgBox("Alle die nicht mit "".de"" enden löschen?", vbYesNo + vbDefaultButton2 _
+ vbQuestion, "Einträge entfernen") = vbNo Then Exit Sub
Application.ScreenUpdating = False
zl = ActiveSheet.UsedRange.Rows.Count
For lngZeile = Range("A65536").End(xlUp).Row To 1 Step (-1)
If (Right(Range("A1").Offset(lngZeile - 1, 0), 3) <> ".de") Then
Range("A1").Offset(lngZeile - 1, 0).EntireRow.Delete
End If
Next 'lngZeile
zlNeu = ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = True
MsgBox zl - zlNeu & " Einträge wurden erfolgreich gelöscht.", vbInformation
End Sub


Sub Beginn_mit_Info_löschen()
Dim lngZeile As Long
Dim zl As Long, zlNeu As Long
If MsgBox("Alle mit ""info@"" löschen?", vbYesNo + vbDefaultButton2 _
+ vbQuestion, "Einträge entfernen") = vbNo Then Exit Sub
Application.ScreenUpdating = False
zl = ActiveSheet.UsedRange.Rows.Count
For lngZeile = Range("A65536").End(xlUp).Row To 1 Step (-1)
If (Left(Range("A1").Offset(lngZeile - 1, 0), 5) = "info@") _
Or (Left(Range("A1").Offset(lngZeile - 1, 0), 5) = "Info@") Then
Range("A1").Offset(lngZeile - 1, 0).EntireRow.Delete
End If
Next 'lngZeile
zlNeu = ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = True
MsgBox zl - zlNeu & " Einträge wurden erfolgreich gelöscht.", vbInformation
End Sub

Viele Grüße, Heiko
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige