hyperlink / verborgen tabblad

Anoniem
2019-04-28T09:35:48+00:00

Is het mogelijk om via een hyperlink naar een verborgen tabblad te gaan ?

En zo ja, hoe ?

Ronald

Microsoft 365 en Office | Excel | Voor thuisgebruik | Windows

Vergrendelde vraag. Deze vraag is gemigreerd vanuit de Microsoft Ondersteuning-community. U kunt met een stem aangeven of de inhoud nuttig is, maar u kunt geen opmerkingen of antwoorden toevoegen of de vraag volgen.

0 opmerkingen Geen opmerkingen

30 antwoorden

Sorteren op: Meest nuttig
  1. Anoniem
    2019-05-01T13:50:57+00:00

    Jan,

    Dit werkt bij mij. ".Follow" werkt alleen als het blad zichtbaar is, dus eerst zichtbaar maken en "Cancel=True" stopt de executie, dus niet gebruiken.

    Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

       Application.EnableEvents = False

       If Sh.Range("A2").Hyperlinks.Count > 0 Then

            'Cancel = True

            Sheets("Sheet3").Visible = True ''' directe verwijzing, aanpassen!!!

            Sh.Range("A2").Hyperlinks(1).Follow

        End If

        Application.EnableEvents = True

    End Sub

    Sheets("Sheet3").Visible = True is ook een beetje tricky in die zin dat in mijn Engelse versie Sheet3 wel bestaat maar de Target waarde is "Blad 3", wat niet bestaat.

    Best irritant dat mijn code bij jou niet lijkt te werken. Wat ik begin te vermoeden is dat er ergens geen "automatische vertaling" is.

    We kunnen dit inderdaad laten maar ik zou het toch graag uitgeklaard zien.

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  2. Anoniem
    2019-04-30T14:13:31+00:00

    JP,

    Ja, dat is nog niet vaak voorgekomen en misschien moeten we het laten rusten, maar nog even niet.

    Jouw oefening werkt bij mij alleen correct als blad Sheet3 niet verborgen is, en dat is niet zo gek, want dan wordt de hyperlink zelf uitgevoerd.

    Als ik dit test, waarbij ik de code voor 'Workbook_SheetFollowHyperlink' helemaal heb uitgeschakeld terwijl de hyperlink in A2 op Sheet1, als in jouw oefening, naar Sheet3.A5 verwijst:

    Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

        If Sh.Range("A2").Hyperlinks.Count > 0 Then

            Cancel = True

            Sh.Range("A2").Hyperlinks(1).Follow

        End If

    End Sub

    dan werkt de opdracht Follow niet, terwijl dat precies dezelfde opdracht is als die in jouw code (je vindt alleen de range anders). Kortom er gebeurt niets bij dubbelklikken ergens op Sheet1.

    Jan

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  3. Anoniem
    2019-04-30T13:49:43+00:00

    Jan,

    Zelden dat we het zo lang oneens zijn...

    Ik heb volgende oefening geprobeerd:

    1. De hyperlink in Blad1, cel A2, verwijst naar Blad3!A5
    2. Met het statement in comment, volg de hyperlink naar Blad3
    3. Klik de Terug hyperlink en ga opnieuw naar Blad3, B2 (Terug) is actief.
    4. Schakel het statement in en ga naar Blad3, A5 wordt de actieve cel.

    Wel stel ik vast dat het soms om een of andere reden niet meer werkt maar de oorzaak heb ik nog niet kunnen achterhalen.

    Misschien moet er een "On Error Resume Next" toegevoegd worden.

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  4. Anoniem
    2019-04-30T12:17:11+00:00

    JP,

    De betreffende regel doet m.i. niets.

    Jouw code maakt handig gebruik van de adressen (met name de bladnaam) van de verschillende hyperlinks om het juiste blad zichtbaar te maken. Dat is dan naast het huidige blad het enige dat zichtbaar is.

    Door dan ook het het huidige blad te verbergen wordt automatisch de actieve cel op het dan enige zichtbare blad de actieve cel, dat is doorgaans de cel waarop je de vorige keer klikte om naar een ander blad te gaan.  (de volgorde van de bladen is dan niet van belang er is immers maar steeds 1 zichtbaar)

    Als de betreffende regel zou werken, zou je niet op de actieve cel uitkomen maar op A1.

    Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)

       If Sheets(Split(Target.SubAddress, "!")(0)).Visible = False Then

          Sheets(Split(Target.SubAddress, "!")(0)).Visible = True

       End If

       Sh.Visible = False

    End Sub

    Dat jij wat anders ziet gebeuren verbaast me, ook al omdat zowel Excel 2010 als 2019 hetzelfde resultaat laten zien.

    Dat laat onverlet dat je code z'n werk doet uiteraard.

    Jan

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  5. Anoniem
    2019-04-30T11:20:49+00:00

    Jan,

    Voor zover ik kan testen is het statement wel nodig om op de "juiste" plaats terecht te komen.

    Als je die weglaat dan bekom je inderdaad het fenomeen dat - ingeval Blad2 zichtbaar is - je op Blad2 terecht komt. Dit omdat het verbergen van Blad1 automatisch het volgend blad activeert. Waar je terecht komt is ook afhankelijk van de volgorde van de bladen.

    Door het statement wordt de correcte hyperlink gevolgd.

    Ik veronderstelde ook dat je dit met Target.Follow kon doen maar vond geen werkende manier. 

    @ Ronald,

    Heb je inmiddels de code aan de praat gekregen?

    Jan heeft al een alternatief geboden, hieronder nog een paar mogelijkheden. Aan u de keus.

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen