Spalte N Wort löschen

Bild

Betrifft: Spalte N Wort löschen
von: sven
Geschrieben am: 06.08.2015 07:52:41

Hallo,
Mein Spalte ist 89000 zeilen lang.
Ich möchte gerne in Vba das er alle zeilen löscht, wenn das wort "EPS Tabak " (vier Leerzeichen nach Tabak ) in Spalte b findet und nachrutscht.
Wie mache ich das? Brauche unbedingt VBA
Mfg Sven

Bild

Betrifft: AW: Spalte B Wort löschen
von: sven
Geschrieben am: 06.08.2015 08:00:20
.

Bild

Betrifft: AW: Spalte B Wort löschen
von: Sepp
Geschrieben am: 06.08.2015 08:14:27
Hallo Ben,
dazu würde ich einen Code den Daniel ein paar Einträge weiter unten gepostet hat, entsprechend anpassen.

Sub lösch()
With ActiveSheet.UsedRange
  With .Columns(.Columns.Count + 1)
    .FormulaR1C1 = "=if(iserror(find(""EPS Tabak "",RC2)),Row(),0)"
    .Cells(1, 1).Value = 0
    .EntireRow.RemoveDuplicates .Column, xlNo
    .ClearContents
  End With
End With
End Sub


@Bernd: Schleifen bei 90.000 Zeilen sind nicht gerade effektiv und schon gar nicht, wenn du jede Zeile einzeln löschst.
Gruß Sepp


Bild

Betrifft: AW: Spalte B Wort löschen
von: Bernd
Geschrieben am: 06.08.2015 08:19:10
Hi Sepp,
recht herzlichen Dank für die Info. Bin leider kein VBA Profi und stopple es mir eben immer so zusammen, wie ich etwas finde oder mal benötigt habe. Habe es aber nun für das nächste mal, gespeichert.
Thx und lg,
Bernd

Bild

Betrifft: AW: Spalte N Wort löschen
von: Bernd
Geschrieben am: 06.08.2015 08:05:39
Hi,
probier mal so:

Sub zeilenloeschen()
     Dim i As Long
     Dim letzteZeile As Long
     Dim suchBereich As Range
     Dim gefunden As Range
     Dim ersterTreffer As String
     Dim suchWert As String
     suchWert = "EPS Tabak" 'hier kommt dein Suchwert rein
     
     With ThisWorkbook.Sheets("Tabelle1")
         letzteZeile = .Range("B" & Rows.Count).End(xlUp).Row
         Set suchBereich = .Range("B1:B" & letzteZeile)
         Set gefunden = suchBereich.Find(What:=suchWert, LookAt:=xlPart)
         If Not gefunden Is Nothing Then
             ersterTreffer = gefunden.Address
             Do
                 gefunden.Activate
                 ActiveCell.EntireRow.Delete shift:=xlUp
                 Set gefunden = suchBereich.Find(What:=suchWert, LookAt:=xlPart)
             Loop While Not gefunden Is Nothing
         End If
     End With
 End Sub
mfg Bernd

Bild

Betrifft: Danke Bernd klappt super. Danke danke
von: sven
Geschrieben am: 06.08.2015 18:08:32
.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Spalte N Wort löschen "