• 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.

Verbrogen werkblad niet zichtbaar kunnen maken

Status
Niet open voor verdere reacties.

Evelthoven

Gebruiker
Lid geworden
26 sep 2006
Berichten
690
Goedemiddag,

In een bepaald bestand heb ik via Opmaak, Blad, Verbergen enkele van mijn tabbladen onzichtbaar gemaakt.
Nu is het de bedoeling dat alleen ik deze bladen weer zichtbaar moet kunnen maken, en geen andere gebruikers. Is dit mogelijk ? Want op deze manier kan iedereen de bladen via Opmaak, Blad, Zichtbaar maken de bladen toch weer te zien krijgen.

Ik ben benieuwd.

Bedankt,
Eric
 
Extra > Beveiliging > Beveilig werkboek (of iets dergelijks). Kan je tevens een paswoord kiezen.
 
Beste Eric,

Wat ook kan:
Via Alt+F11 ga je naar VBA. Klik rechts in de projectenverkenner op de naam van het verborgen werkblad. Als het goed is zie je linksonder de eigenschappen van dit werkblad. Zo niet, klik dan op F4.
Achter NAME staat het bedoelde werkblad dat verborgen is en moet blijven. Rechts van Visible kies je voor "2 XlSheetVeryHidden". Het is nu niet meer in Excel terug te halen, maar alleen via VBA. En dat kun je dan weer beveiligen met een wachtwoord.

Richard
 
Bekijk ook de bijlage eens, heb dat een tijdje geleden geschreven. Iets analoog staat ook op www.ozgrid.com.

Als je het opent kan je enkel blad1 bekijken. Voor de andere bladen heb je een paswoord nodig. Dat staat in de VBA code.

Wigi
 

Bijlagen

  • Enkel blad 1 bekijken.zip
    9,5 KB · Weergaven: 118
Goedemorgen Wigi,

Bedankt voor je reactie.
Dit is wat ik zoek, echter nog een klein vraagje.
Waar moet ik het wachtwoord invoeren ?

Gr.
Eric
 
Wigi,

Dat klopt, ik had dat al gezien. Maar ik denk dat je mijn vraag niet helemaal begrijpt, misschien heb ik de vraag wat ongelukkig geformuleerd.

Ik bedoel: als ik een nieuw bestand maak met bv. 3 tabbladen, waar moet ik dan een pasword invoegen zodat alleen ik de bladen 1 en 2 kan weergeven en anderen niet ?
 
De code kopiëren en daarin het paswoord aanpassen. Nu is dat Secret. Zie VBA code bij ThisWorkbook.
 
Via Wigi ben ik ook op deze formule terecht gekomen

Echter wat moet ik precies veranderen om het werkende te krijgen.
"sheet 1" moet worden veranderd in de naam van het blad wat wel zichtbaar moet zijn. Maar moeten de niet zichtbare / wachtwoord beveiligde werkbladen ook ergens ingevuld worden?

Nogmaals de code:
Code:
rivate Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim strPass As String
    Dim lCount As Long
    
    If Sh.CodeName <> Sheets(1).CodeName Then
       'De variabele sLast krijgt de naam van het eerste blad.
       'Bij fout paswoorden wordt dat getoond. (of als er niets ingegeven wordt als paswoord).
       Set sLast = Sheets(1)
       
       'Hide Columns
       Sh.Columns.Hidden = True
           'De gebruiker heeft 3 kansen
            For lCount = 1 To 3
                strPass = InputBox(Prompt:="Geef het paswoord in aub.", Title:="Paswoord ingave")
                    If strPass = vbNullString Then 'er wordt Annuleren gekozen
                        sLast.Select
                        Exit Sub
                    ElseIf strPass <> "Secret" Then 'Fout paswoord
                        MsgBox "Fout paswoord opgegeven." & vbCr & vbCr & "(Je hebt nog " & 3 - lCount & _
                            " pogingen).", vbCritical, "www.wimgielis.be"
                    Else 'Juist paswoord
                       Exit For
                    End If
            Next lCount
        
            If lCount = 4 Then '3 foute pogingen
                sLast.Select
                Exit Sub
            Else 'Er was een juist paswoord, gebruiker mag verder
                Sh.Columns.Hidden = False
            End If
    End If
End Sub
 
Zo dan

Code:
Set sLast = Sheets("sheet 1")

Voor de moet er niets veranderen.
 
Dient er niks gedaan te worden met de eerste regel ?

If Sh.CodeName <> Sheets(1).CodeName Then


Het staat er namelijk bij vermeld dat je sLast moet veranderen maar ik krijg geen vraag om een wachtwoord bij de andere bladen.
 
Zo is het beter:

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim strPass As String
    Dim lCount As Long
    Dim sLast As Worksheet
    
    Set sLast = Sheets("sheet 1")
    'De variabele sLast krijgt de naam van het eerste blad.
    'Bij foute paswoorden wordt dat getoond. (of als er niets ingegeven wordt als paswoord).
    
    If Sh.CodeName <> sLast.CodeName Then
       'Hide Columns
       Sh.Columns.Hidden = True
       
       'De gebruiker heeft 3 kansen
        For lCount = 1 To 3
            strPass = InputBox(Prompt:="Geef het paswoord in aub.", Title:="Paswoord ingave")
                If strPass = vbNullString Then 'er wordt Annuleren gekozen
                    sLast.Select
                    Exit Sub
                ElseIf strPass <> "Secret" Then 'Fout paswoord
                    MsgBox "Fout paswoord opgegeven." & vbCr & vbCr & "(Je hebt nog " & 3 - lCount & _
                        " pogingen).", vbCritical, "www.wimgielis.be"
                Else 'Juist paswoord
                   Exit For
                End If
        Next lCount
    
        If lCount = 4 Then '3 foute pogingen
            sLast.Select
            Exit Sub
        Else 'Er was een juist paswoord, gebruiker mag verder
            Sh.Columns.Hidden = False
        End If
    End If
End Sub

Wigi
 
Ik weet niet wat er verkeerd gaat

Heb even een bestandje bijgevoegd welke erop lijkt.
 

Bijlagen

  • Probeersel beveiliging.zip
    20,2 KB · Weergaven: 56
Je gebruikt in de code Voorbeeld ipv Voorblad.
 
Ik zie het foutje:eek: :eek: , maar dan nog werkt het niet.

Als je het aanpast, werkt het bij jou wel dan ?
 
Je mag door alle kolommen te verbergen ook geen knop van het scherm afduwen. Dan sputtert Excel ook tegen.
 
Daar ben je me even kwijt...

Wat bedoel je daar precies mee?
 
Als je in jouw bestandje hierboven

Voorblad ipv Voorbeeld

gebruikt, en dan naar het tabblad Verkoopgegevens gaat, dan krijg je een error. Doe je echter de knop Langs lopend weg, dan werkt het wel.
 
Oke, het voorblad en voorbeeld had ik gezien. Foutje, bedankt

Maar ik snap niet waarom de code het niet doet omdat ik een macro gebruik. Die macro moet toch gewoon ook te gebruiken zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan