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

Hyperlink + Filter

Hyperlink + Filter
21.03.2013 08:36:28
Marko
Hey,
sorry wenn das Theman schon bearbeitet wurde, aber ich bin während meiner Suche nicht auf eine gute Lösung gekommen die meinem Problem entspricht.
Es geht um die Bearbeitung eines Workbooks, die alten Texte stehen in der Tabelle bereit und die
Meine Mappe:
1. Blatt: Tabelle mit Kapitel und zuständigem Bearbeiter
2. Blatt: Tabelle mit Kapitel, zuständigem Bearbeiter, alte Texte, Änderungen
Auf dem 2. Blatt habe ich schon einen Filter eingerichtet, sodass jeder Bearbeiter seinen Namen auswählen kann und somit nur die Kapitel erscheinen, die er bearbeiten muss.
Jedoch möchte ich das ganze eleganter und für "Dummys" lösen. Auf dem 1. Blatt soll für jeden "Bearbeiter" ein Link hinterlegt sein, der ihn dann automatisch auf das 2. Blatt leitet und GLEICHZEITIG den Filter für den jeweiligen Namen aktiviert.
Hoffe mein Problem ist klar geworden und mir kann jemand helfen. Kenne mich leider mit Makros nicht aus, und ich habe keine Formel gefunden mit der ich es lösen könnte
https://www.herber.de/bbs/user/84475.xlsx

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

Betreff
Datum
Anwender
Anzeige
AW: Hyperlink + Filter
21.03.2013 08:52:39
Klaus
Hallo Marko,
in deiner Tabelle rechtsclick auf den Reiter "Übersicht", dann den Menüpunkt "View Code" (deutsch: Code Anzeigen?). Der VBA-Editor geht auf, das große weiße Feld rechts ist das Code-Feld der Übersicht-Tabelle. Dort kopierst du folgenden Code hin:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rKapitel As Range
Dim rPerson As Range
Dim sFilter As String
Dim lRow As Long
lRow = Cells(Rows.Count, 1).End(xlUp).Row
Set rKapitel = Range("A2:A" & lRow)
Set rPerson = Range("B2:B" & lRow)
sFilter = Target.Value
If Not Intersect(Target, rKapitel) Is Nothing Then
Cancel = True
Sheets("Workbook").Activate
ActiveSheet.Range("$A$1:$D$1").AutoFilter
ActiveSheet.Range("$A$1:$D$1").AutoFilter Field:=2, Criteria1:=sFilter
End If
If Not Intersect(Target, rPerson) Is Nothing Then
Cancel = True
Sheets("Workbook").Activate
ActiveSheet.Range("$A$1:$D$1").AutoFilter
ActiveSheet.Range("$A$1:$D$1").AutoFilter Field:=1, Criteria1:=sFilter
End If
End Sub
Ein Doppelclick auf den Namen ODER das Kapitel führt ins Workbook-Sheet und filtert dort entsprechend.
Ist dir statt dem Doppelclick ein einfacher Click lieber, dann nimm stattdessen diesen Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Hell
Dim rKapitel As Range
Dim rPerson As Range
Dim sFilter As String
Dim lRow As Long
lRow = Cells(Rows.Count, 1).End(xlUp).Row
Set rKapitel = Range("A2:A" & lRow)
Set rPerson = Range("B2:B" & lRow)
sFilter = Target.Value
If Not Intersect(Target, rKapitel) Is Nothing Then
Sheets("Workbook").Activate
ActiveSheet.Range("$A$1:$D$1").AutoFilter
ActiveSheet.Range("$A$1:$D$1").AutoFilter Field:=2, Criteria1:=sFilter
End If
If Not Intersect(Target, rPerson) Is Nothing Then
Sheets("Workbook").Activate
ActiveSheet.Range("$A$1:$D$1").AutoFilter
ActiveSheet.Range("$A$1:$D$1").AutoFilter Field:=1, Criteria1:=sFilter
End If
Hell:
End Sub

Der zieht allerdings auch an, wenn du einen Namen / ein Kapitel per Tastatur ansteuerst ...
Deine Aufgabenstellung war "click auf den Namen und ..."
Ich habe das mal auf "click auf Namen oder Kaptiel" ausgeweitet, weil ich das aufgrund deines Autofilter-Bereiches für logisch empfunden habe. Willst du nur den Namen haben, lösche aus dem Makro den Block If Not Intersect(Target, rKapitel) Is Nothing Then [...] EndIf.
ACHTUNG!
Sollte jemals der Autofilter im Blatt "Workbook" aufgehoben oder woanders gesetzt werden, dann steigt das Makro aus! Auch dafür hätte ich eine Lösung, falls du möchtest (nämlich den Autofilter per VBA genau dahin setzen wo er sein soll)
Grüße,
Klaus M.vdT.

Anzeige
AW: Hyperlink + Filter
21.03.2013 09:17:17
Marko
Super! Vielen Dank Klaus!
Eine Frage habe ich noch: Ich möchte nun unter meine Übersicht noch eine Zeile "zum gesamten Workbook" einfügen und natürlich sollte dann der Autofilter zwar verfügbar sein, aber noch nichts speziell filtern, sodass alles sichtbar ist.
Wie ist das möglich?
Danke und viele Grüße

AW: Hyperlink + Filter
21.03.2013 09:55:24
Klaus
Hi,
bei den DIMS oben fügst du hinzu:
DIM rAlles as Range
und in den Code, da wo die anderen Blöcke auch stehen:
Set rAlles = Range("F7")
If Not Intersect(Target, rAlles) Is Nothing Then
Cancel = True
Sheets("Workbook").Activate
ActiveSheet.Range("$A$1:$D$1").AutoFilter
End If

dabei gehe ich davon aus, dass der Link für "alles" in F7 steht. Das kannst du ja anpassen.
Das beispiel ist für den "Doppelclick"-Code. Nutzt du den "SelectionChange"-Code, dann musst du die Zeile Cancel = True löschen.
Grüße,
Klaus M.vdT.

Anzeige
AW: Hyperlink + Filter
21.03.2013 13:45:50
Marko
Super, vielen Dank !!!

Danke für die Rückmeldung! owT.
21.03.2013 13:46:07
Klaus
.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge