Office: (Office 365) VBA Code gesucht für Zeilen löschen anhand von Kriterien

Helfe beim Thema VBA Code gesucht für Zeilen löschen anhand von Kriterien in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten Tag Ich habe eine Exceldatei mit mehreren Tabellen. Auf einer Tabelle habe ich eine ziemlich grosse Liste von Einträgen, die mit einem bestimmten... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von TiRohnCH, 26. Juli 2023.

  1. TiRohnCH Neuer User

    VBA Code gesucht für Zeilen löschen anhand von Kriterien


    Guten Tag
    Ich habe eine Exceldatei mit mehreren Tabellen. Auf einer Tabelle habe ich eine ziemlich grosse Liste von Einträgen, die mit einem bestimmten Schlüssel versehen sind (pro Tag mehrere Einträge für die Stundenerfassung von mehreren Personen auf Projekten (<--Schlüssel).
    Auf einer anderen Tabelle habe ich weniger Einträge (knapp 120) mit den Projekten die mich eigentlich interessieren.
    Jeden Monat werden ein paar hundert Einträge in der ersten Tabelle eingefügt mit neuen Einträgen, sodass die Liste gegen Ende Jahr ein paar hunderttausend Zeilen umfasst, von denen mich nicht mal ein viertel davon interessiert.
    Nun möchte ich ein Makro schreiben, welches mir anhand der Liste auf Tabelle 2 die Zeilen in Tabelle 1 löscht, welche nicht mit einem der Projektschlüssel übereinstimmt.

    Ich habe mal folgenden Code zusammen, der mir einfach ein Projekt filtern kann, aber ich finde nicht heraus, wie ich eine Liste von Projektnummern filtern kann.
    Option Explicit
    Sub ZeileLöschen()
    Dim Bereich As Range
    Dim i As Long
    Set Bereich = Intersect(Range("E:E"), ActiveSheet.UsedRange)
    With Bereich
    For i = .Count To 1 Step -1
    If .Cells(i) = "Projekt 1234" Then .Cells(i).EntireRow.Delete
    Next i
    End Sub

    Herzlichen Dank und Gruss
    TiRohn
     
    TiRohnCH, 26. Juli 2023
    #1
  2. HKindler
    HKindler hat Ahnung
    Hi,

    du hast Excel 365 und damit die FILTER()-Funktion.
    Tabelle1 sei deine lange Tabelle, Tabelle2 deine Projekte. Beides seien Strg-T-Tabellen, in beiden heißt die Spalte mit den Projektnummern [Projekte].
    Mach ein neues Blatt.
    In Zeile 1 kommen die Überschriften von [Tabelle1].
    A1: =Tabelle1[#Kopfzeilen]
    In A2 kommt die Formel
    A2: =FILTER(Tabelle1;ZÄHLENWENNS(Tabelle2[Projekte];Tabelle1[Projekte]))
    Jetzt hast du immer deine Projekte im Blick.
     
    HKindler, 26. Juli 2023
    #2
  3. Exl121150 Erfahrener User
    Hallo,

    falls du das mit VBA lösen möchtest (Zeilen zu löschen statt zu filtern):
    dann gib dem Zellbereich mit den zu löschenden Projektnamen im Namensmanager einen Namen. Im folgenden Makro habe ich dafür den Namen "LöschProjekte" gewählt.
    Code:
    Option Explicit
    
    Sub ZeileLöschen()
       Dim Bereich As Range
       Dim i As Long
       Dim ListeProjekte As Range
     
       'Benannter Bereich mit zu löschenden Projekten
       Set ListeProjekte = Range("LöschProjekte")
     
       On Error GoTo NichtGefunden
     
       Set Bereich = Intersect(Range("E:E"), ActiveSheet.UsedRange)
       With Bereich
          For i = .Count To 1 Step -1
             'Teste, ob .Cells(i) in Zellbereich "LöschProjekte" enthalten ist:
             'Falls ja:   Führe den Delete-Befehl ist
             'Falls nein: Es wird ein Fehler erzeugt, der bewirkt,
                         'dass nach "NichtGefunden" gesprungen wird
             If WorksheetFunction.Match(.Cells(i).Value, ListeProjekte, 0) Then
                .Cells(i).EntireRow.Delete
             End If
    SucheWeiter:
          Next i
       End With
     
       Exit Sub
     
    NichtGefunden:
       'Springe von hier wieder zurück in die i-Schleife und teste nächstes i
       Resume SucheWeiter
    End Sub
    
     
    Exl121150, 26. Juli 2023
    #3
Thema:

VBA Code gesucht für Zeilen löschen anhand von Kriterien

Die Seite wird geladen...
  1. VBA Code gesucht für Zeilen löschen anhand von Kriterien - Similar Threads - VBA Code gesucht

  2. Datentabelle per VBA Makro durch Kopieren und Einfügen einer Kopfzeile aufteilen

    in Microsoft Excel Hilfe
    Datentabelle per VBA Makro durch Kopieren und Einfügen einer Kopfzeile aufteilen: Hallo Zusammen, mein erster Beitrag hier, also schon mal Sorry im Voraus, wenn unvollständig beschrieben *:)* Ich habe das Forum schon nach einem brauchbaren Lösungsansatz durchsucht, bin aber...
  3. UserForm zum bearbeiten von Tabellen und speichern

    in Microsoft Excel Hilfe
    UserForm zum bearbeiten von Tabellen und speichern: Guten Tag Ich habe leider ein Problem, das mich zur Verzweiflung bringt. Vielleicht findet hier jemand einen Lösung für mein Problem. Ich bekommen leider einen Laufzeitfehler '1004'. Zur...
  4. VBA Code Tabellenblatt kopieren und UserForm

    in Microsoft Excel Hilfe
    VBA Code Tabellenblatt kopieren und UserForm: Hallo, ich hoffe mir kann jemand helfen. Schon mal vielen Dank für die Unterstützung. Folgende Thematik: In dem Blatt 1 ist ein ComandButton. Mit Klick soll über VBA folgendes abgefragt...
  5. VBA Code anpassen mit variablem Tabellen Ende

    in Microsoft Excel Hilfe
    VBA Code anpassen mit variablem Tabellen Ende: Hallo, im folgenden Code möchte ich gerne statt eines fest vorgegebenen Tabellen Ende ein variables einsetzen. Sub Verkettung() Dim i As Long For i = 2 To 15000 'Hier soll kein festes Ende...
  6. Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben

    in Microsoft Excel Hilfe
    Tabellenblätter aus Vorlagen-Tabellenblatt generieren mit dynamischen Anpassungen durch Vorgaben: Hallo, ich suche gerade eine Möglichkeit mittels VBA mehrere Tabellenblätter auf einmal zu generieren (ca. 40), die auf einem Vorlage-Tabellenblatt (TB2) basieren. Das kopieren/ Vervielfachen an...
  7. Dropdown mit Mehrfachauswahl

    in Microsoft Excel Hilfe
    Dropdown mit Mehrfachauswahl: Hallo, ich bräuchte für das Büro eine Tabelle mit Dropdowninhalten, welche eine Mehrfachauswahl zulassen. Ich habe folgenden Code gefunden und er funktioniert auch, aber nur, solange ich die...
  8. Problem im Code für Mehrfachauswahl in Dropdownliste

    in Microsoft Excel Hilfe
    Problem im Code für Mehrfachauswahl in Dropdownliste: Hallo beisammen, ich soll für meinen Stiefvater eine Tabelle über seine Bestandskunden und deren Produkte erstellen und bin dabei nun auf folgendes Problem gestoßen: Ich brauche in mehreren...
Schlagworte:
  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