Stránka 1 z 1

Excel - filtr hyperlinku na druhý list

Napsal: 06 čer 2023 11:49
od mikiracan
Ahoj Všem,
rád bych Vás požádal o radu s následujícím řešením:
1) na listu č. 1 mám hypertextový odkaz ("hodnota 1")
2) na listu č. 2 mám sloupec "A" o XY řádcích, kde jsou příznaky:
- "nadpis A"
- "nadpis B"
(nadpisů může být XY)
- "hodnota 1"
- "hodnota 2"
(hodnot může být XY)

výsledkem řešení by mělo být, aby po kliknutí na hypertextový odkaz v prvním listu jsem se přesunul na list dva, kde uvidím filtr (který ale bude respektovat nadpisy...toto může být natvrdo v případném macru - nadpisy mají vždy stejný příznak) - do přílohy jsem připojil soubor, který zobrazuje příklad jak by mělo fungovat.

Napadá někoho jak by mohlo být ve VBA provedeno? předem děkuji :)

MR

Re: Excel - filtr hyperlinku na druhý list

Napsal: 06 čer 2023 13:42
od elninoslov
Pr.

Kód: Vybrat vše

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim Col As New Collection, R As Long, i As Long, D(), F(), x As Long, V As String, N As String

    On Error Resume Next
    N = Target.TextToDisplay
    With ThisWorkbook.Worksheets("List2")
        R = .Cells(Rows.Count, "A").End(xlUp).Row
       
        With .Range("A1:G1")
            D = .Resize(R, 4).Value2
            ReDim F(0 To R - 1)
       
            For i = 2 To R
                V = CStr(D(i, 2))
                If V = N Or LenB(D(i, 4)) = 0 Then
                    Err.Clear
                    Col.Add V, V
                    If Err.Number = 0 Then F(x) = V: x = x + 1
                End If
            Next i
       
            If Col.Count > 0 Then
                ReDim Preserve F(0 To Col.Count - 1)
                .Resize(R).AutoFilter Field:=2, Criteria1:=F, Operator:=xlFilterValues
            End If
        End With
    End With
   
    Set Col = Nothing
End Sub

Re: Excel - filtr hyperlinku na druhý list  Vyřešeno

Napsal: 18 srp 2023 10:17
od mikiracan
Dekuji,
funguje presne jak má - posílám karmu :))).