Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchfunktion über mehrere Tabellen

Suchfunktion über mehrere Tabellen
Andreas
Hallo zusammen!
Ich habe folgende frage an euch.
Und zwar geht es darum das ich zwischen 17-25 Tabellenblätter habe die alle gleich aufgebaut sind.
Ich möchte jetzt in Tabelle 1 einen Autofilter erstellen die alle 17 bzw. 25 Tabellenblätter durchsucht.
Ist sowas möglich ?
Kann mir auch vorstellen das Tabelle 1 nur fürs auflisten der Suchfunktion zur Verfügung steht.
Gibt es auch die Möglichkeit nicht den Autofilter zu benutzen sondern selbständig nach dem Wort zu suchen ? Kombinierbar ? Es werden in einigen Spalten kurze Berichte eingetragen deshalb wäre eine Kombination sehr hilfreich.
habe es leider nicht geschafft eine Beispieldatei mit einzufügen.
Gruß Andreas F.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Suchfunktion über mehrere Tabellen
21.07.2011 06:34:09
Marc
Guten Morgen!
Mit einem Autofilter geht das nicht. Man müßte die Tabellen nacheinander durchsuchen und die gefundenen Einträge in der ersten Tabelle auflisten. Von mir aus auch mit Bezug zum Tabellenblatt.
Was allerdings gesucht wird (ganzer Zellinhalt oder 'Teil einer Zelle), was dargestellt wird und in welchem Format müsstest du allerdings nochmal erläutern.
Eine Beispieltabelle hätte da durchaus ihre Vorteile...
Gruß, Marc
AW: Suchfunktion über mehrere Tabellen
21.07.2011 07:30:08
Andreas
Guten Morgen
Habe es gechafft die Beispielliste Hochzuladen.

Die Datei https://www.herber.de/bbs/user/75783.xls wurde aus Datenschutzgründen gelöscht


Es soll in jeder Zeile von Tabelle1 gesucht werden können.
es werden "fast" nur Worte oder teile eines Wortes gsucht. Selten Zahlen.
Ich hoffe die Tabelle ist verständlich.
Gruß Andreas F.
Anzeige
AW: Suchfunktion über mehrere Tabellen
22.07.2011 07:46:12
Andreas
Hallo Sepp
Das Funktioniert ja wunderbar genauso wie ich mir das vorstelle.
Ist es eigentlich möglich die suche zu verfeinern?
Sprich Ich suche in Spalte B nach dem Buch 5 und bekomme 247 Ergebnisse.
Jetzt möchte ich in Spalte C alle Autoren suchen mit X 50 Einträge..... usw. usw.
Wie halt beim Autofilter die Suche Langsam eingrenzen ?
Gruß Andreas F.
Anzeige
AW: Suchfunktion über mehrere Tabellen
22.07.2011 19:11:12
Josef

Hallo Andreas,
ersetze den Code durch folgenden.
' **********************************************************************
' Modul: Tabelle3 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim objSh As Worksheet
  Dim rngC As Range, rngF As Range
  Dim lngRows() As Long, lngIndex As Long, lngC As Long, lngMatch As Long
  Dim strFirst As String
  Dim bolMatch As Boolean
  
  On Error GoTo ErrExit
  GMS
  
  If Not Intersect(Target, Range("A3:F3")) Is Nothing Then
    Range("A6:F" & Rows.Count) = ""
    Target.Select
    For Each objSh In ThisWorkbook.Worksheets
      Erase lngRows
      Redim lngRows(0)
      bolMatch = False
      Set rngC = Nothing
      If Not objSh.Name = Me.Name Then
        If Application.CountA(Me.Range("A3:F3")) > 0 Then
          lngMatch = Me.Range("A3:F3").SpecialCells(xlCellTypeConstants).Cells(1, 1).Column
          If IsNumeric(lngMatch) Then
            strFirst = ""
            Set rngF = objSh.Columns(lngMatch).Find(What:=Me.Cells(3, lngMatch), LookAt:=xlWhole, LookIn:=xlValues, _
              MatchCase:=False, SearchFormat:=False)
            If Not rngF Is Nothing Then
              strFirst = rngF.Address
              Do
                If rngF.Row > 1 Then
                  If IsError(Application.Match(rngF.Row, lngRows, 0)) Then
                    bolMatch = True
                    Redim Preserve lngRows(lngIndex)
                    lngRows(lngIndex) = rngF.Row
                    For lngC = lngMatch + 1 To 6
                      If Me.Cells(3, lngC) <> "" Then
                        bolMatch = LCase(objSh.Cells(rngF.Row, lngC)) Like LCase(Me.Cells(3, lngC))
                      End If
                    Next
                  End If
                  If bolMatch Then
                    If rngC Is Nothing Then
                      Set rngC = rngF.EntireRow
                    Else
                      Set rngC = Union(rngC, rngF.EntireRow)
                    End If
                  End If
                End If
                Set rngF = objSh.Columns(lngMatch).FindNext(rngF)
              Loop While Not rngF Is Nothing And rngF.Address <> strFirst
            End If
          End If
          If Not rngC Is Nothing Then
            rngC.Copy Me.Cells(Me.Rows.Count, 1).End(xlUp).Offset(1, 0)
          End If
        End If
      End If
    Next
  End If
  
  
  ErrExit:
  GMS True
  
  Set objSh = Nothing
  Set rngF = Nothing
  Set rngC = Nothing
End Sub


Public Sub GMS(Optional ByVal Modus As Boolean = False)
  
  Static lngCalc As Long
  
  With Application
    .ScreenUpdating = Modus
    .EnableEvents = Modus
    .DisplayAlerts = Modus
    .EnableCancelKey = IIf(Modus, 1, 0)
    If Not Modus Then lngCalc = .Calculation
    If Modus And lngCalc = 0 Then lngCalc = -4105
    .Calculation = IIf(Modus, lngCalc, -4135)
    .Cursor = IIf(Modus, -4143, 2)
    
  End With
  
End Sub



« Gruß Sepp »

Anzeige
AW: Suchfunktion über mehrere Tabellen
22.07.2011 19:19:46
fcs
Hallo Anreas,
nachdem du mit der Eingabe der Suchbegriffe per Makro eine Basisliste erstellt hast kannst du doch mit dem Autofilter wie gewohnt die Suche weiter eingrenzen.
Dazu solltest du im Ergebnisblatt sinnvoller Weise zwischen der Zeile mit den Suchbegriffen und der Zeile mit den Spaltentiteln eine leere Zeile (alle zellen ohne Werte) lassen,. Dann funktioniert das Setzen des Autofilters weitestgehend automatisch.
Gruß
Franz
AW: Suchfunktion über mehrere Tabellen
22.07.2011 20:00:37
Andreas
Hallo ihr Beiden
Das ist genau das was ich gesucht habe vielen vielen Dank für die nette Hilfe.
Ich denke ich werde das mit dem Autofilter auch mit einbauen da ich mal schauen möchte was für mich angenhemer ist .
Bis dann
Gruß Andreas F.
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige