Office: (Office 365) Tabelle Filtern mit VBA

Helfe beim Thema Tabelle Filtern mit VBA in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich bin neu hier und absolutes Greenhorn in Word-VBA. Mit Excel-VBA kenne ich mich leidlich aus, das nützt mir hier wohl leider nichts... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von luftgetrocknet, 31. Mai 2021.

  1. Tabelle Filtern mit VBA


    Hallo zusammen,

    ich bin neu hier und absolutes Greenhorn in Word-VBA. Mit Excel-VBA kenne ich mich leidlich aus, das nützt mir hier wohl leider nichts Tabelle Filtern mit VBA :(

    Mein Problem:
    Ich habe eine 3-spaltige Tabelle mit Tabellenüberschrift (Aufgabe, Zuständig, Vertretung).
    Per VBA soll die Spalte 2 auf einen vom Benutzer eingegebenen Begriff durchsucht werden und alle Zeilen ohne diesen Begriff in Spalte 2 sollen gelöscht werden. Dazu habe ich hier im Forum einen Beitrag aus 2016 gefunden, der schon ziemlich gut passt:

    Option Compare Text

    Sub Tabelle_Filtern()

    Dim suchbegriff As String, zeile As Row
    Application.UndoRecord.StartCustomRecord ("Tabelle_filtern")
    suchbegriff = InputBox("Wonach soll gesucht werden?", "Tabelle filtern")
    For Each zeile In Selection.Tables(1).Rows
    If Not (zeile.Range.Text Like "*" & suchbegriff & "*") Then zeile.Delete
    Next zeile
    MsgBox "Filtern nach " & suchbegriff & " beendet. Zum Widerherstellen der Tabelle benutzen Sie die Rückgängig-Funktion."
    Application.UndoRecord.EndCustomRecord
    End Sub

    Leider wird hier aber immer die gesamte Zeile nach dem Suchbegriff durchsucht. Wie kann ich die Anweisung verändern, dass ausschließlich in Spalte 2 der Tabelle gesucht wird? Taucht der Suchbegriff in Spalte 1 oder 3 auf, nicht aber in Spalte 2, soll die Zeile gelöscht werden.

    Und kann man eventuell auch noch einstellen, dass die Überschriftenzeile generell nicht gelöscht wird?

    Vielen Dank im Voraus.

    Schöne Grüße

    luftgetrocknet
     
    luftgetrocknet, 31. Mai 2021
    #1
  2. Gerhard H Erfahrener User
    Hallo luft...
    probier mal diese Variante. Sie prüft nur die zweite Spalte, löscht von unten nach oben und hört bei Zeile 2 auf:
    Sub Tabelle_Filtern()
    Dim tabelle As Table
    Dim suchbegriff As String
    Dim i As Long, anzZeilen As Long

    Set tabelle = Selection.Tables(1)
    anzZeilen = tabelle.Rows.Count
    suchbegriff = InputBox("Wonach soll gesucht werden?", "Tabelle filtern")
    Application.UndoRecord.StartCustomRecord ("Tabelle_filtern")

    For i = anzZeilen To 2 Step -1
    If Not tabelle.Rows(i).Cells(2).Range.Text Like "*" & suchbegriff & "*" Then tabelle.Rows(i).Delete
    Next i

    'MsgBox "Filtern nach " & suchbegriff & " beendet. Zum Widerherstellen der Tabelle benutzen Sie die Rückgängig-Funktion."
    Application.UndoRecord.EndCustomRecord
    End Sub
     
    Gerhard H, 1. Juni 2021
    #2
  3. Hallo Gerhard,

    das funktioniert genau so, wie ich es beschrieben hatte. Vielen Dank dafür!

    Allerdings ist mir inzwischen aufgefallen, dass ich bei der Formulierung einen Denkfehler gemacht hatte Tabelle Filtern mit VBA :(. Es müsste nämlich so sein, dass die Zeilen erhalten bleiben, wenn der Suchbegriff entweder in Spalte 2 und/oder Spalte 3 steht. Nur wenn der Suchbegriff in Spalte 1 steht (oder gar nicht in der Zeile), soll die Zeile trotzdem gelöscht werden.

    Hast du dafür auch noch eine Idee? Dann wäre es die perfekte Lösung für mich.

    Viele Grüße

    luftgetrocknet
     
    luftgetrocknet, 1. Juni 2021
    #3
  4. Tabelle Filtern mit VBA

    Hallo,

    hab das Problem schon selbst gelöst! Vielen Dank für die Starthilfe Tabelle Filtern mit VBA *;)*

    Gruß luftgetrocknet
     
    luftgetrocknet, 1. Juni 2021
    #4
Thema:

Tabelle Filtern mit VBA

Die Seite wird geladen...
  1. Tabelle Filtern mit VBA - Similar Threads - Tabelle Filtern VBA

  2. Resultat aus Filter in zweiten Tabellen Blatt filtern

    in Microsoft Excel Hilfe
    Resultat aus Filter in zweiten Tabellen Blatt filtern: Hallo zusammen Ich habe zwei Tabellenblätter mit div. Spalten. Wenn ich in der ersten Tabelle nach ACCT Filter, erhalte ich die Projektnummern welche zu diesem Account gehören. [ATTACH] Nun würde...
  3. Tabelle Filtern per VBA Buttons

    in Microsoft Excel Hilfe
    Tabelle Filtern per VBA Buttons: Hey *Smilie Und zwar habe ich eine Tabelle mit knapp 500 Zeilen. Spalten B-X, jetzt ist bsp. Spalte B als Tag definiert, spalte C als Name etc. Ich möchte sehr gerne per VBA Button, diese...
  4. VBA Tabelle Filtern und neue Arbeitsblätter

    in Microsoft Excel Hilfe
    VBA Tabelle Filtern und neue Arbeitsblätter: Hallo, ich will über VBA Zellen auswählen und diese Filtern (Duplikate entfernen) Habe Tabelle mit Spalte A (verantwortlicher Trainer) und in Spalte B den Gruppennamen usw. Danach soll für...
  5. Bestimmte Namen in der Tabelle suchen kopieren und einfügen

    in Microsoft Excel Hilfe
    Bestimmte Namen in der Tabelle suchen kopieren und einfügen: Hallo zusammen, ich habe eine Aufgabe in Excel, die ich mithilfe VBA lösen möchte(wenn es überhaupt geht;) Da ich noch sehrwenige Ahbung von Vba habe, komme ich nicht weiter und beschlossen...
  6. VBA Tabelle Filtern und Kopieren

    in Microsoft Excel Hilfe
    VBA Tabelle Filtern und Kopieren: Das Thema wurde geklärt.
  7. Filter einer PIVOT-Tabelle über Feld (VBA?)

    in Microsoft Excel Hilfe
    Filter einer PIVOT-Tabelle über Feld (VBA?): Hallo zusammen! Ich habe eine schöne Excel-Oberfläche für meine Kollegen gebastelt, auf der jeder sein Produkt und andere Eigenschaften auswählen kann. Anhand von SVerweisen die auf diese...
  8. Datentabelle automatisch sortieren & Filter

    in Microsoft Excel Hilfe
    Datentabelle automatisch sortieren & Filter: Hallo Ich habe eine Datentabelle mit Kunden und anderen Daten. Ich möchte dass, wenn ich auf das Blatt "Kunden" wechsle die Daten nach Name sortiert werden. Mit dem Makrorecorder erhalte ich...
  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