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

Werkblad met inlognamen

Status
Niet open voor verdere reacties.

John van Herk

Gebruiker
Lid geworden
7 apr 2006
Berichten
62
Hoi,

Wie heeft er oplossing voor het volgende:

Ik heb een werkbook met een aantal tabbladen. Zes van die tabbladen hebben een naam die overeenkomt met een gebruiker in het workbook.
In het blad login heb ik een combobox, waarin de betreffende gebruiker zijn/haar naam kan kiezen.
Afhankelijk van de gekozen gebruiker moet de commandbutton een opdracht uitvoeren die alleen het tabblad van die gebruiker laat zien.
Nu staat er onder de commandbutton een opdracht die alle tabbladen laat zien.
De gebruiker Marc moet alle tabbladen kunnen zien.

ik heb het bestand bijgevoegd.

PS: als je het bestand opent is alleen het tabblad "login" zichtbaar.
 

Bijlagen

Hallo John van Herk,

Het is nog niet perfect maar ik kan hem op 1 naam het blad laten openen.
Misschien moet je dit met select case doen. (zoveel weet ik er ook niet van)

Ik wens je dan oook veel suc6

Mvg,
Wim
 

Bijlagen

Hallo John van Herk,

Het is nog niet perfect maar ik kan hem op 1 naam het blad laten openen.
Misschien moet je dit met select case doen. (zoveel weet ik er ook niet van)

Ik wens je dan oook veel suc6

Mvg,
Wim

Select Case is niet verkeerd maar je kan het veel simpeler doen:

Code:
Worksheets(ComboBox1.Value).Visible = True

Zet bovenstaande code bij de knop. Het werkblad met de naam die in combobox1 staat, wordt geopend. Op deze manier hoef je ook geen namen toe te voegen aan de select case.

Met vriendelijke groet,


Roncancio
 
Hallo Roncancio,

Ik ben niet zo erg thuis in VBA maar probeer steeds wat.
Select case was zo mijn simpele gedachte, zat een beetje in de goede richting.
Nu heb ik in iedergeval weer wat geleerd.

Hartelijk bedankt.
Mvg, Wim
 
Hallo Roncancio,

Ik ben niet zo erg thuis in VBA maar probeer steeds wat.
Select case was zo mijn simpele gedachte, zat een beetje in de goede richting.
Nu heb ik in iedergeval weer wat geleerd.

Hartelijk bedankt.
Mvg, Wim

Zoals ik al zei: Select Case is zeker niet fout maar er zijn kortere en flexibelere mogelijkheden.
We leren allemaal altijd wat bij. De domste mensen zijn de mensen die denken dat ze alles weten.

Met vriendelijke groet,


Roncancio
 
Hallo John van Herk,

Ik heb het nu zover voorelkaar dat hij het blad ook opent.
Verder heb ik vandaag geen tijd maar morgen volg ik het wel weer.

Mvg,
Wim
 

Bijlagen

De echte specialisten zijn bezig geweest, dat merk ik wel.
Het resultaat is verbluffend goed.

Is er ook een opdracht in VBA waarmee je alle verborgen sheets in 1 keer zichtbaar kunt maken?

Nog een aanvulling:
zou het mogelijk kunnen zijn om aan de login in het "login"-sheet een wachtwoord toe te voegen, zodat iedere gebruiker alleen zijn/haar eigen werkblad kan openen?

Alvast kei bedankt!!
 
Is er ook een opdracht in VBA waarmee je alle verborgen sheets in 1 keer zichtbaar kunt maken?
Zoiets:
Code:
Dim WS As Worksheet
For Each WS In ActiveWorkbook.Worksheets
    If WS.Visible = False Then
        WS.Visible = True
    End If
Next
Bovenstaande code kan je aan een knop verbinden.

Nog een aanvulling:
zou het mogelijk kunnen zijn om aan de login in het "login"-sheet een wachtwoord toe te voegen, zodat iedere gebruiker alleen zijn/haar eigen werkblad kan openen?
Dat kan wel maar het is beter als een ieder dit doet via Extra - Beveiligen - Blad Beveiligen .. Uit het oogpunt van beveiliging is het namelijk niet aan te raden om dit in de VBA code te doen.

Met vriendelijke groet,


Roncancio
 
Toch nog een vraag:

is het mogelijk om het werkblad te beveiligen bij afsluiten van het bestand?

ik heb dus een opdrachtknop in het werkblad staan om de beveiliging van het werkblad op te heffen zodat er gegevens kunnen worden ingevoerd.
het zou mooi zijn om bij het verlaten van het bestand via een macro de vraag te stellen om het blad te beveiligen.

????
 
Hallo,

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "Wil je het werkblad beveiligen?", vbQuestion & vbYesNo, "Werkblad beveiligen."
End Sub
Bij het verlaten van het bestand verschijnt een melding of je het werkblad wilt beveiligen.

Met vriendelijke groet,


Roncancio
 
Dat is een mooie vraag, maar volgens mij wordt het active blad dan niet beveiligd.
Moet ik er nog een code aan toe voegen? Kan dat ook met wachtwoord?
 
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Response=MsgBox("Wil je het werkblad beveiligen?", vbQuestion & vbYesNo, "Werkblad beveiligen.")
If Response=vbYes Then
Activesheet.Protect
Else: Exit Sub
End if
End Sub

zoiets misschien?
 
Als het goed is wel. Kies maar eens voor 'Ja' bij de vraag of je het werkblad wilt beveiligen, sla het bestand op (standaardvraag van Excel bij het afsluiten van het bestand) en open het bestand daarna weer. Als het goed is, is het werkblad dan beveiligd.
 
Hallo ik ben er weer,

Je moet de code in ThiWorkbook zetten, dan werkt hij wel.
De Sheet Login is dan wel beveiligd, er staat alleen geen wacht woord in.

Mvg,
Wim
 
Hallo John van Herk,

Sorry dat ik zolaat reageer maar dat komt ik had hem zo goed beveiligd, dat ik niet meer in de macro kon komen.
Dit is de code die in This Workbook staat.

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wbAWB As Workbook
    Dim strPwd As String
    Dim strSharePwd As String

    Set wbAWB = Application.ActiveWorkbook

    strPwd = InputBox("Enter password for the file")
    'strSharePwd = InputBox("Enter password for sharing")

    wbAWB.ProtectSharing Password:=strPwd, _
        SharingPassword:=strSharePwd

'Response = MsgBox("Wil je het werkblad beveiligen?", vbQuestion & vbYesNo, "Werkblad beveiligen.")
'If Response = vbYes Then
'ActiveSheet.Protect
'Else: Exit Sub
'End If
End Sub

Dus kijk uit wat je doet, sla het B.V.B. met een andere naam op.

Suc6, Wim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan