• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Macro via hyperlink automatisch tabbladen (on)zichtbaar maken

Status
Niet open voor verdere reacties.

youdeni

Gebruiker
Lid geworden
28 feb 2008
Berichten
147
Beste,

Heb al op het forum gezocht, maar ik heb nog niet exact gevonden wat ik nodig heb. In forum melding https://www.helpmij.nl/forum/threads/tabbladen-verbergen.958535/ gevonden maar dat is niet helemaal wat ik zoek.

Ik wil graag het volgende bereiken

Ik heb een bestand met een groot aantal tabbladen. In dit bestand moeten de tabbladen genaamd “Voorblad”, “Uitleg” en “ Index” altijd zichtbaar blijven.

De overige tabbladen moeten verborgen blijven (het liefst ook dat de gebruiker deze zelf niet zichtbaar kan maken.

Op de pagina “Index” staan hyperlinks die verwijzen naar de andere tabbladen in het bestand.

Wat ik wil is het volgende. Als men op een hyperlink klikt (in het voorbeeldbestand op hyperlink 5210) dan moet de pagina 5210 zichtbaar worden en geactiveerd. Als men in het voorbeeldbestand weer op de Tabblad “Index” klikt. Moet het tabblad (in dit voorbeeld 5210) weer verborgen worden. Zodat alleen de tabbladen “Voorblad”, “Uitleg” en “ Index zichtbaar zijn.
Hoop dat het duidelijk is wat ik bedoel.
 

Bijlagen

Youdeni,

Wat je wilt zijn twee dingen:
- Bij Werkblad activeren =>Tonen
- Bij Werkblad Wisselen => Verbergen
Dat kan volgens mij niet met verwijzingen.

Ik heb zelf een macro gemaakt om dit op te lossen.
Macro wordt gestart vanuit het Lint, toont in een dialoog met alle 'optionele' werkbladen in een combobox,
gebruiker klikt op gewenste werkblad naam en geeft OK
Hierna zijn er bij mij 2 bladen open.
Dit kan je natuurlijk aanpassen naar standaard werkbladen met het geselecteerde optionele werkblad.
(Combobox wordt pas gevuld op moment dat je dialoog activeerd, leest dus alle namen van de dan aanwezige werkbladen uit)

Ik weet niet of je met macro's mag werken maar dit lijkt mij de oplossingsrichting.
 
Je zou voor dat bestand ook de tablijst kunnen verbergen, dan zijn alle tabbladen "zichtbaar", zonder dat je ze daadwerkelijk kunt zien:
1698221961431.png
 
Youdeni,

Wat je wilt zijn twee dingen:
- Bij Werkblad activeren =>Tonen
- Bij Werkblad Wisselen => Verbergen
Dat kan volgens mij niet met verwijzingen.

Ik heb zelf een macro gemaakt om dit op te lossen.
Macro wordt gestart vanuit het Lint, toont in een dialoog met alle 'optionele' werkbladen in een combobox,
gebruiker klikt op gewenste werkblad naam en geeft OK
Hierna zijn er bij mij 2 bladen open.
Dit kan je natuurlijk aanpassen naar standaard werkbladen met het geselecteerde optionele werkblad.
(Combobox wordt pas gevuld op moment dat je dialoog activeerd, leest dus alle namen van de dan aanwezige werkbladen uit)

Ik weet niet of je met macro's mag werken maar dit lijkt mij de oplossingsrichting.
Hi Hans,

Via een Macro (VBA) moet dit wel kunnen. Zoals aangegeven had ik op dit forum wel al wat gevonden. Maar werkt nog niet 100% voor mij. Hopelijk kan iemand dit nog aanpassen voor mij. Dank in ieder geval voor je reactie
 
Bekijk dit eens.
Je hebt het over een macro die niet 100% werkt, plaats een bestand met deze macro en leg eens uit wat
er niet werkt.

Bekijk dit voorbeeldbestand eens.
 

Bijlagen

Bekijk dit eens.
Je hebt het over een macro die niet 100% werkt, plaats een bestand met deze macro en leg eens uit wat
er niet werkt.

Bekijk dit voorbeeldbestand eens.
Beste,

Dit ziet er goed uit. Kan het stukje van het wachtwoord er ook uit?
Dit maakt het wat lastiger in de praktijk.
Erg bedankt
 
De overige tabbladen moeten verborgen blijven (het liefst ook dat de gebruiker deze zelf niet zichtbaar kan maken.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("D3:D30")) Is Nothing Then
    
        On Error GoTo eind
            Sheets(Target.Text).Visible = -1
            Application.Goto Sheets(Target.Text).Range("A1")
            Cancel = True
            Exit Sub
    
End If
eind: MsgBox "tabblad bestaat niet"
Cancel = True
End Sub
 
In ThisWorkbook sectie.
Code:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
 Sh.Visible = InStr("/Voorblad/Uitleg/Index/", "/" & Sh.Name & "/") > 0
End Sub


Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
 Sheets(CStr(Target.Parent)).Visible = True
 Application.Goto Sheets(CStr(Target.Parent)).Cells(1)
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan