Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1492to1496
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

VBA Suchfunktion

VBA Suchfunktion
20.05.2016 11:07:46
Ali
Hallo zusammen,
ich benötige Eure Hilfe.
Ich habe mir 2 Excel Tabellen erstellt.
In der einen Tabelle habe ich diverse Oberbegriffe wie z.B. Auto / KFZ Brief usw.
In der zweiten Tabelle steht unter dem Schlüsselwort AUTO z.B. eine Erklärung, oder unter dem Schlüsselwort KFZ Brief eine Anweisung usw.
Nun möchte ich, wenn ich auf Tabellenblatt 1 auf AUTO klicke, das alles im Tabellenblatt 2 mit dem Schlüsselwort AUTO angezeigt wird. (am besten gefiltert).
Hat jemand eine Idee?
Ich kann es zwar alternativ den Oberbegriff AUTO in Tabelle 1 mit einem Hyperlink verbinden, so dass er dann automatisch ins Tabellenblatt 2 in einer Zelle springt, aber da es den Schlüssel AUTO im Tabellenblatt 2 mehrmals gibt, kann ich nicht alle definieren.
Perfekt wäre es natürlich, wenn ich auf den Oberbegriff AUTO klicke, das dann automatisch im Tabellenblatt 2 alles nach dem Schlüsselwort AUTO gefiltert wird?
Vielen Dank für die Hilfe.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Beispielmappe erforderlich!
20.05.2016 11:13:29
Michael
Hallo!
Das ist grds. vorstellbar, aber um hier nicht im Dunkeln zu fischen bzw. blind etwas zu Skripten, was dann doch nicht passt, stell bitte eine Beispielmappe ein, die am Besten auch das gewünschte Ergebnis zeigt.
Dann tun sich alle Helfer_innen leichter!
LG
Michael

AW: Beispielmappe erforderlich!
20.05.2016 12:43:56
Ali
Hi, du hast natürlich recht.
Ich hab die Datei hocheladen.
mein Ziel:
Wenn ich unter Inhaltsverzeichnis auf Thema 1 klicke, soll sofort das Tabellenblatt "Chronologisch" angezeigt werden und über ein Filter sollen nun alle Schlüsselwörter "Thema1" angezeigt werden.
https://www.herber.de/bbs/user/105689.xlsx
LG

Anzeige
Hier mein Vorschlag...
20.05.2016 14:00:57
Michael
Hallo!
...direkt in Deiner Bsp-Datei umgesetzt: https://www.herber.de/bbs/user/105695.xlsm
Hyperlinks sind eigentlich gar nicht notwendig. Bei Doppelklick in gefüllte (nicht-leere!) Zellen in Spalte E im Tabellenblatt "Inhaltsverzeichnis" wird der jeweilige Zellinhalt als Filterkriterium in Tabellenblatt "Chronologisch" gesetzt und dieses Blatt auch aktiviert/angezeigt.
Dazu sind zwei Makros erforderlich - eines findest Du im allgemeinen Modul1 und eines im Klassenmodul der Tabelle1.
Passt?
LG
Michael

Anzeige
AW: Beispielmappe erforderlich!
20.05.2016 14:05:56
UweD
Hallo
- lösche die Hyperlinks
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Diesen Code dort reinkopieren
Da du verbundene Zellen nutzt, muss auf 8 Zellen geprüft werden...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fehler
Dim TB1, TB2, Suchen$
If Not Intersect(Range("A6:A20"), Target) Is Nothing _
And Target.Count = 8 Then ' das brauch ich, weil du verbundene Zellen nutzt
Application.ScreenUpdating = False
Set TB1 = Sheets("Inhaltsverzeichnis")
Set TB2 = Sheets("Chronologisch")
With TB2
.Activate
If .FilterMode Then .ShowAllData ' Autofilter alle
Select Case Target.Row
Case 6: Suchen = "Thema1"
Case 7: Suchen = "Thema2"
Case 8: Suchen = "Thema3"
Case 9: Suchen = "Thema4"
Case 10: Suchen = "Thema5"
End Select
.Range("$A:$C").AutoFilter Field:=2, Criteria1:=Suchen
End With
End If
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Gruß UweD
Über Rückmeldungen würde ich mich freuen

Anzeige
AW: Beispielmappe erforderlich!
21.05.2016 10:09:45
Ali
Hallo,
erstmal vielen Dank. Beide Lösungen sind genial und funktionieren.
Eine Frage, wenn ich nun die Schlüsselwörter erweitern möchte, geht es dann auch? oder kann ich mich nur auf ein Schlüsselwort festlegen.
So wie ich es verstanden habe funktioniert die Sache so.
Ich klicke im Inhaltsverzeichnis auf z.B. Thema1. Excel sucht dann in der Tabelle "Chronologisch" in der Spalte B unter "Schlüsselwort" nach dem angegklickten Begriff aus der Tabelle "Inhaltsverzeichnis" und filtert.
Gibt es eine Möglichkeit in der Tabelle "Chronologisch" unter Schlüsselwort mehrere Wörter einzutragen? ich hatte mir vorgestellt, das wenn ich auf Thema1 klicke, wird der Filter überalle gesetzt, wo das Wort Thema1 vorkommt. Es kann aber auch sein, das dort mehrere Schlüsselwörter stehen.
Z.B. in der Spalte mit dem Schlüsselwort "Thema1" ist auch "Thema2".
LG

Anzeige
AW: Beispielmappe erforderlich!
21.05.2016 11:30:26
Matthias
Hallo
Dan musst Du eben 2 Variablen und/oder 2 Kriterien angeben.

Range("$A:$C").AutoFilter Field:=2, Criteria1:="=Thema1", Operator:=xlOr, Criteria2:="=Thema2"
Wobei Du ja Thema1 und Thema2 auch aus je einer Variable holen könntest.
Gruß Matthias

AW: mehrere Schlüsselwörter
21.05.2016 12:01:01
Daniel
Hi
wenn du gemeint hast, dass in einer Zelle mehrere Schlüsselwörter stehen können (also "Thema1 Thema2 Thema3") und dann diese Zeile angezeigt werden soll, wenn du nach "Thema1" oder "Thema2" oder "Thema3" suchst, dann musst du im Autofilter nicht mit der Suchoption "Entspricht Thema1" suchen, sondern mit "Enthält Thema1"
für die Suchoption Enthält muss man zum Suchbegriff das Jokerzeichen * für beliebige Zeichen hinzufügen:
.Range("$A:$C").AutoFilter Field:=2, Criteria1:="*" & Suchen & "*"
Gruß Daniel

Anzeige
AW: mehrere Schlüsselwörter
21.05.2016 12:59:57
Ali
Hallo zusammen, Genial:) funktioniert genauso wie ich es mir vorgestellt habe.
Vielen Dank für die Hilfestellung.
Bin total begeistert.
LG

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige