Office: (Office 365) Zeilen löschen wenn eine Zelle der Zeile einen bestimmten Inhalt hat

Helfe beim Thema Zeilen löschen wenn eine Zelle der Zeile einen bestimmten Inhalt hat in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich brauche mal wieder eure Hilfe. Für die beschriebene Aufgabe benutze ich folgenden Code der soweit auch gut funktioniert: Code: Sub... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von damienffm, 6. Mai 2024.

  1. Zeilen löschen wenn eine Zelle der Zeile einen bestimmten Inhalt hat


    Hallo,
    ich brauche mal wieder eure Hilfe. Für die beschriebene Aufgabe benutze ich folgenden Code der soweit auch gut funktioniert:


    Code:

    Sub ZeileLöschen()
    Dim Bereich As Range
    Dim Zelle As Range
    Dim WegMit As Range
    Set Bereich = Intersect(Range("B:B"), ActiveSheet.UsedRange)
    For Each Zelle In Bereich
    If Zelle Like "*Handcreme*" Or Zelle Like "Haftcreme*" Or Zelle Like "*Stokoderm*" Then
    If WegMit Is Nothing Then
    Set WegMit = Zelle
    Else
    Set WegMit = Union(WegMit, Zelle)
    End If
    End If
    Next Zelle
    If Not WegMit Is Nothing Then WegMit.EntireRow.Delete
    End Sub

    Ist es möglich, den Range nicht nur auf eine Spalte zu setzen (hier Spalte B) sondern z.B. B:H? Nur den "Set Bereich" zu ändern führt bei mir zu folgender Fehlermeldung:
    "Bei überlappenden Markierungen ist die Auführung dieses Befehls nicht möglich" Laufzeitfehler 1004" Der Fehler tritt im rot markierten Bereich auf.
    Vielen Dank für eure HIlfe.
    Alexander
     
    damienffm, 6. Mai 2024
    #1
  2. BoskoBiati Erfahrener User
    Hallo,

    Du beschränkst im Intersect den Bereich auf Spalte B und den Used Range. Warum?
    Eigentlich sollte doch das reichen: Set Bereich =Range("B:H")
     
    BoskoBiati, 6. Mai 2024
    #2
  3. Hajo_Zi
    Hajo_Zi Erfahrener User
    Hallo Alexander,
    hat Dein Code nichrt einen Fehler?
    WegMit
    wird nicht gesetzt.

    Zeilen löschen wenn eine Zelle der Zeile einen bestimmten Inhalt hat GrußformelZeilen löschen wenn eine Zelle der Zeile einen bestimmten Inhalt hat Homepage
     
    Zuletzt bearbeitet: 6. Mai 2024
    Hajo_Zi, 6. Mai 2024
    #3
  4. Hajo_Zi
    Hajo_Zi Erfahrener User

    Zeilen löschen wenn eine Zelle der Zeile einen bestimmten Inhalt hat

    Hallo Alexander,

    ich hätte die Aufgabe so interpretiert?
    Code:
    Option Explicit
    
    Sub ZeileLöschen()
        Dim Bereich As Range
        Dim Zelle As Range
        'Dim WegMit As Range
        Set Bereich = Intersect(Range("B:B,H:H"), ActiveSheet.UsedRange)
        For Each Zelle In Bereich
            If Zelle Like "*Handcreme*" Then
                Zelle = Application.Substitute(Zelle, "Handcreme", "")
            ElseIf Zelle Like "Haftcreme*" Then
                Zelle = Application.Substitute(Zelle, "Haftcreme", "")
            ElseIf Zelle Like "*Stokoderm*" Then
                Zelle = Application.Substitute(Zelle, "Stokoderm", "")
    '            If WegMit Is Nothing Then
    '                Set WegMit = Zelle
    '            Else
    '                Set WegMit = Union(WegMit, Zelle)
    '            End If
            End If
        Next Zelle
        Set Zelle = Nothing
    '    If Not WegMit Is Nothing Then WegMit.EntireRow.Delete
    End Sub
    
     
    Hajo_Zi, 6. Mai 2024
    #4
  5. Danke für die Antworten.

    @BoskoBiati: So funktioniert es, hat nur ne sehr lange Laufzeit (so ca. 60 Sekunden, deshalb die Beschränkung auf den benutzten Bereich)

    @Hajo_Zi: Danke Hajo, leider passiert mit diesem Code so wie er dasteht nichts. Es sollen nicht nur die Zellen gelöscht werden in den der Ausdruck vorkommt sondern die gesamte Zeile der Zelle in der der Ausdruck gefunden wurde.
     
    damienffm, 6. Mai 2024
    #5
  6. jetzt bekomme ich bei der Abänderung des Codes den gleichen Fehler. Kann es sein, dass es ein Problem gibt, wenn des zu suchende Ausdruck in mehreren Zellen in derselben Zeile vorkommt?
     
    damienffm, 6. Mai 2024
    #6
  7. Hajo_Zi
    Hajo_Zi Erfahrener User
    das stand nicht im ersten Beitrag. Ich scjaue nicht auf Deinen Rechner und kann damit die Datei nicht sehen
    Rows(Zelle.Row).Delete

     
    Hajo_Zi, 6. Mai 2024
    #7
  8. BoskoBiati Erfahrener User

    Zeilen löschen wenn eine Zelle der Zeile einen bestimmten Inhalt hat

    Hallo,

    welche Aufgabe soll Dein Makro denn erfüllen?
    Warum begrenzt Du den Bereich nicht auf die gefüllten Zeilen?
    Stelle doch bitte mal eine Mustertabelle vor.
     
    BoskoBiati, 6. Mai 2024
    #8
  9. Hallo,
    hier die Mustertabelle. Z.B. kommt der Ausdruck nach dem gesucht werden soll "Rezeptur" einmal in der Spalte F oder in Spalte H oder in beiden vor. Unabhängig vom Fundort des gesuchten Ausdrucks soll die Zeile gelöscht werden, in der der Ausdruck gefunden wurde.
    Ich hoffe, ich konnte es einigermaßen verständlich beschreiben Zeilen löschen wenn eine Zelle der Zeile einen bestimmten Inhalt hat :(
     
    damienffm, 6. Mai 2024
    #9
  10. BoskoBiati Erfahrener User
    Hallo,

    anhand Deiner Mustertabelle:
    Code:
    Sub Loeschen()
    Dim rng As Range
    Dim loLetzte As Long
    Dim loA As Long, loC As Long, loB As Long
    Dim arrSuch As Variant
    loLetzte = Cells(Rows.Count, 1).End(xlUp).Row
    For loA = loLetzte To 3 Step -1
     For loC = 1 To 10
        If Cells(loA, loC) Like ("*Rezeptur*") Then loB = 1
    Next
    If loB = 1 Then Rows(loA).EntireRow.Delete
    loB = 0
    Next
    End Sub
     
    BoskoBiati, 6. Mai 2024
    #10
  11. Hallo Edgar,
    funktioniert prima. Kann man auch nach mehrerenAusdrücken suchen?

    Danke
    Alexander
     
    damienffm, 6. Mai 2024
    #11
  12. BoskoBiati Erfahrener User
    Hi,

    z.B. so:

    Code:
    Sub Loeschen()
    Dim loLetzte As Long
    Dim loA As Long, loC As Long, loB As Long
    loLetzte = Cells(Rows.Count, 1).End(xlUp).Row
    For loA = loLetzte To 3 Step -1
     For loC = 1 To 10
        If Cells(loA, loC) Like ("*Rezeptur*") or Cells(loA, loC) Like ("*Hallo*") Then loB = 1
    Next
    If loB = 1 Then Rows(loA).EntireRow.Delete
    loB = 0
    Next
    End Sub
     
    BoskoBiati, 6. Mai 2024
    #12
  13. BoskoBiati Erfahrener User

    Zeilen löschen wenn eine Zelle der Zeile einen bestimmten Inhalt hat

    Hi,

    hier noch eine Variante, die vielleicht schneller ist:
    Code:
    Sub Loeschen_2()
    Dim arrSuch
    Dim loLetzte As Long, loA&, loB&, loC&
    Dim rng As Range
    loLetzte = Cells(Rows.Count, 1).End(xlUp).Row
    Set rng = Range(Cells(3, 1), Cells(loLetzte, 8))
    arrSuch = rng.Value
    For loA = UBound(arrSuch, 1) To LBound(arrSuch, 1) Step -1
        For loB = LBound(arrSuch, 2) To UBound(arrSuch, 2)
            If InStr(1, arrSuch(loA, loB), "Rezeptur") > 0 or InStr(1, arrSuch(loA, loB), "Apotheke") > 0 Then loC = 1
        Next
        If loC = 1 Then Rows(loA + 2).EntireRow.Delete
        loC = 0
    Next
    arrSuch = ""
    
    End Sub
     
    BoskoBiati, 6. Mai 2024
    #13
  14. HKindler
    HKindler Erfahrener User
    Hi,

    wenn es schnell sein soll, dann benutzt man Excel-Funktionalitäten hier insbesondere "Duplikate entfernen"

    Code:
    Sub löschen()
    Dim Bereich As Range
    Dim s As String
    s = "=SUM(COUNTIF(RC2:RC8,{""*Rezeptur*"";""*Haftcreme*"";""*Stokoderm*""}))>0"
    Set Bereich = ActiveSheet.UsedRange
    Set Bereich = Bereich.Offset(, Bereich.Columns.Count).Resize(, 1)
    Bereich.FormulaR1C1 = s
    Bereich.Cells(1) = True
    Bereich.Copy
    Bereich.PasteSpecial xlPasteValues
    ActiveSheet.UsedRange.RemoveDuplicates Columns:=Bereich.Column, Header:=xlNo
    Bereich.Clear
    End Sub
     
    HKindler, 7. Mai 2024
    #14
Thema:

Zeilen löschen wenn eine Zelle der Zeile einen bestimmten Inhalt hat

Die Seite wird geladen...
  1. Zeilen löschen wenn eine Zelle der Zeile einen bestimmten Inhalt hat - Similar Threads - Zeilen löschen Zelle

  2. Wenn Formelergebnis leer Zelle ergibt, ganze Zeile Löschen

    in Microsoft Excel Hilfe
    Wenn Formelergebnis leer Zelle ergibt, ganze Zeile Löschen: Hallo, ich habe folgende Frage: Ich übernehme mit der Formel. =WENN(Alle!$Q3>1;Alle!A3;"") Daten aus einer anderen Datei. Wenn nun das Ergebnis eine leere Zelle (" ") ergibt, soll die ganze Zeile...
  3. VBA - Zeilen je nach Bedingung in neues Tabellenblatt verschieben und löschen

    in Microsoft Excel Hilfe
    VBA - Zeilen je nach Bedingung in neues Tabellenblatt verschieben und löschen: Hallo liebe Excel-Kommunity, nach ewigen Stunden des Suchens und Rumprobierens bin ich an dem Punkt angekommen an dem ich verzweifelt um eure Hilfe fragen muss. Da ich leider keinerlei...
  4. Excel mit VBA ganze Zeile nach einem Wert in Zelle löschen

    in Microsoft Excel Hilfe
    Excel mit VBA ganze Zeile nach einem Wert in Zelle löschen: Hallo zusammen Mein Kopf ist kurz vorm Explodieren. Hoffe auf eure Hilfe: Ich versuche mit einem Makro anhand des Wertes der in Zelle G1 steht, alle Zeilen mit diesem Wert in der Tabelle zu...
  5. Löschen von Zeilen in einer Zelle

    in Microsoft Excel Hilfe
    Löschen von Zeilen in einer Zelle: Ich suche eine Lösung für folgenden Problemstellung: In einer Zelle stehen untereinander mehrere unterschiedliche Zahlen. Ich möchte nun jeweils nur die erste Zahl stehen lassen ohne per Hand...
  6. Letzte Zelle mit bestimmtem Text finden, Zeilen darunter löschen

    in Microsoft Excel Hilfe
    Letzte Zelle mit bestimmtem Text finden, Zeilen darunter löschen: Hallo, ich erstelle mir aus verschiedenen Textdateien eine Adressliste (mehrere hundert Einträge, Ende variiert). Am Ende der Liste erscheint immer etwas "Kauderwelsch"...
  7. Löschen einer Zeile, Spalte oder Zelle aus einer Tabelle

    in Microsoft Outlook Tutorials
    Löschen einer Zeile, Spalte oder Zelle aus einer Tabelle: Löschen einer Zeile, Spalte oder Zelle aus einer Tabelle Word für Microsoft 365 Outlook für Microsoft 365 Word 2019 Outlook 2019 Word 2016 Outlook 2016...
  8. Löschen einer Zeile, Spalte oder Zelle aus einer Tabelle

    in Microsoft Word Tutorials
    Löschen einer Zeile, Spalte oder Zelle aus einer Tabelle: Löschen einer Zeile, Spalte oder Zelle aus einer Tabelle Word für Microsoft 365 Outlook für Microsoft 365 Word 2019 Outlook 2019 Word 2016 Outlook 2016...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden