Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Intelligente Tabelle durchsuchen

Intelligente Tabelle durchsuchen
13.12.2022 09:47:26
Dominik
Servus zusammen,
ich würde gerne mit VBA eine intelligente Tabelle durchsuchen und mir gerne ausgeben lassen in welcher Zeil der intelligenten Tabelle der Wert steht.
Ich habe bereits eine Lösung gefunden. Hier mal der Code.
Die Variable Zeile ist global

Private Sub CommandButton1_Click()
Dim rng As Range
Dim tbl As ListObject
Set tbl = tb_Datenbank.ListObjects(1)
Set rng = tbl.ListColumns(5).DataBodyRange.Find(what:=2, LookIn:=xlValues, lookat:=True)
Zeile = rng.Row - 6
End Sub
Die Tabelle beginnt in Zeile 6 deshalb "-6" und genau das würde ich gerne vereinfachen.
Danke schon mal.
Gruß Dominik
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Intelligente Tabelle durchsuchen
13.12.2022 10:08:19
Der
Servus,
was willst Du denn vereinfachen? Dass Du 6 nicht abziehen musst?
Gruß
Michael
AW: Intelligente Tabelle durchsuchen
13.12.2022 10:20:00
Dominik
Servus Michael,
Ja genau. Sollte über der Tabelle eine Zeile eingefügt werden dann stimmt der Code nicht mehr.
Habe aber schon eine Lösung bekommen.
Trotzdem Danke :-)
AW: Intelligente Tabelle durchsuchen
13.12.2022 10:09:00
Rudi
Hallo,
da gibt's nichts zu vereinfachen. Kann man nur flexibilisieren (falls die Tabelle verschoben wird).

Private Sub CommandButton1_Click()
Dim rng As Range
Dim tbl As ListObject
Set tbl = tb_Datenbank.ListObjects(1)
With tbl.ListColumns(5).DataBodyRange
Set rng = .Find(what:=2, LookIn:=xlValues, lookat:=True)
If Not rng Is Nothing Then
Zeile = rng.Row - tbl.HeaderRowRange.Row
Else
MsgBox "nich da"
End If
End With
End Sub
Gruß
Rudi
Anzeige
AW: Intelligente Tabelle durchsuchen
13.12.2022 10:20:56
Dominik
Perfekt Danke.
Das war meine Gedanke, dass nachträglich eine Zeile eingefügt wird.
Danke und schönen Tag noch
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Intelligente Tabelle in Excel durchsuchen mit VBA


Schritt-für-Schritt-Anleitung

Um eine intelligente Tabelle in Excel mit VBA zu durchsuchen, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen. Wir verwenden die Methode DataBodyRange.Find, um nach einem bestimmten Wert zu suchen.

  1. Öffne den VBA-Editor: Drücke Alt + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf dein Projekt im Projektfenster und wähle Einfügen > Modul.

  3. Gib den folgenden Code ein:

    Private Sub CommandButton1_Click()
       Dim rng As Range
       Dim tbl As ListObject
       Set tbl = tb_Datenbank.ListObjects(1) ' Ersetze tb_Datenbank mit dem Namen deiner Tabelle
    
       With tbl.ListColumns(5).DataBodyRange
           Set rng = .Find(what:=2, LookIn:=xlValues, lookat:=True) ' Suche nach dem Wert 2
           If Not rng Is Nothing Then
               Zeile = rng.Row - tbl.HeaderRowRange.Row
               MsgBox "Wert gefunden in Zeile: " & Zeile
           Else
               MsgBox "Wert nicht gefunden"
           End If
       End With
    End Sub
  4. Teste den Code: Schließe den VBA-Editor und gehe zurück zu Excel. Füge einen Button hinzu und verbinde ihn mit dem CommandButton1_Click Event.


Häufige Fehler und Lösungen

  • Fehler: "Wert nicht gefunden"

    • Lösung: Stelle sicher, dass der gesuchte Wert tatsächlich in der intelligenten Tabelle vorhanden ist. Überprüfe auch, ob du die richtige Spalte angibst.
  • Fehler: "Objekt nicht gefunden"

    • Lösung: Vergewissere dich, dass der Tabellenname (tb_Datenbank) korrekt ist und die Tabelle existiert.

Alternative Methoden

Falls du eine intelligente Tabelle in Excel ohne VBA durchsuchen möchtest, kannst du die Filterfunktion nutzen:

  1. Wähle die Tabelle aus.
  2. Aktiviere das Filter-Dropdown in der Spaltenüberschrift.
  3. Gib den Wert ein, den du suchst, um die Ergebnisse zu filtern.

Diese Methode ist einfach und benötigt kein Programmieren, ist jedoch weniger flexibel als die VBA-Lösung.


Praktische Beispiele

Hier sind einige Beispiele, wie du die intelligente Tabelle in Excel effizient durchsuchen kannst:

  • Beispiel 1: Suche nach einem bestimmten Kundenwert in Spalte "Kundenname":

    Set rng = tbl.ListColumns("Kundenname").DataBodyRange.Find(what:="Max Mustermann", LookIn:=xlValues, lookat:=True)
  • Beispiel 2: Suche nach einem Wert in mehreren Tabellenblättern:

    For Each ws In ThisWorkbook.Worksheets
      Set rng = ws.ListObjects(1).ListColumns(5).DataBodyRange.Find(what:=2, LookIn:=xlValues, lookat:=True)
      If Not rng Is Nothing Then
          MsgBox "Wert gefunden in: " & ws.Name & " Zeile: " & rng.Row
      End If
    Next ws

Tipps für Profis

  • Verwende Variablen: Speichere die gesuchte Zahl in einer Variablen, um deinen Code flexibler zu gestalten.

    Dim Suchwert As Integer
    Suchwert = 2
    Set rng = tbl.ListColumns(5).DataBodyRange.Find(what:=Suchwert, LookIn:=xlValues, lookat:=True)
  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um den Code robuster zu machen und unerwartete Fehler zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich die intelligente Tabelle in Excel erstellen?
Du kannst eine intelligente Tabelle erstellen, indem du einen Datenbereich auswählst und dann auf Einfügen > Tabelle klickst. Stelle sicher, dass die Option "Meine Tabelle hat Überschriften" aktiviert ist.

2. Was ist der Unterschied zwischen einer normalen Tabelle und einer intelligenten Tabelle in Excel?
Eine intelligente Tabelle (ListObject) bietet zusätzliche Funktionen wie automatisches Filtern, Sortieren und die Möglichkeit, mit VBA einfacher darauf zuzugreifen.

3. Wie kann ich eine intelligente Tabelle nach mehreren Kriterien durchsuchen?
Du kannst die Find-Methode mehrmals aufrufen oder eine Schleife verwenden, um mehrere Kriterien zu überprüfen.

4. Ist die Nutzung von VBA für Anfänger schwierig?
Es kann anfangs herausfordernd sein, aber mit etwas Übung und den richtigen Ressourcen kannst du schnell lernen, wie du VBA für die Arbeit mit intelligenten Tabellen nutzen kannst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige