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

Beveiliging macro knop.

Status
Niet open voor verdere reacties.

grozette

Gebruiker
Lid geworden
5 jan 2012
Berichten
8
Wie kan mij helpen met de volgende vraag?

Ik heb een Excel bestand met meerdere tabbladen en dit bestand kan ik via twee macro knoppen in zijn geheel beveiligen en weer ontgrendelen. Hoe kan ik deze twee macro knoppen zelf beveiligen? Als iemand dus op de knoppen drukt, wil ik graag dat er een wachtwoord ingevuld moet worden. Heeft iemand hiervoor de VBA code? :rolleyes:

Alvast mijn dank!
 
Als je dat werkblad hier ter download neerzet kan ik dat er zo voor je in bakken.
 
je kunt een textbox op het scherm brengen met:

antwoord = InputBox("please enter the password")
 
Achter de meet aan zie ik al.
Toch maar een klein voorbeeldje (was er toch aan begonnen).

Code:
Dim grozette As String
  grozette = InputBox("zet hier je wachtwoord", "heb je een wachtwoord ?")
     If grozette = "grozette" Then
 MsgBox "wachtwoord is goed ", , "Goed gedaan"
'++++++ hier de rest van de code++++++
End If
 
Laatst bewerkt:
Ik zou er een Function van maken met het te valideren wachtwoord in het Tag attribuut van de betreffende knop.
 
Dit is een iets aangepaste versie van je eigen code.
Kijk eens of dit is wat je wilt:

Code:
Public Sub MyMacro()
    Const PWORD As String = "123"
    Dim response As String
    Dim msg As String
    msg = "Voer wachtwoord in:"
    
    While response <> PWORD
        response = Application.InputBox(Prompt:=msg, Title:="Password", Type:=2)
        Select Case response
            Case CStr(False)
                Exit Sub 'Cancelled
            Case Else
                msg = "Incorrect!" & vbNewLine & "Voer opnieuw wachtwoord in:"
        End Select
    Wend

'Voer code in

End Sub
 
Duidelijk geen kaas gegeten van VBA...

Beste Edmoor,

Nu kan ik een macro knop gebruiken door eerst een wachtwoord in te voeren, maar daarna wil ik dat deze knop het bestand (werkbladen) beveiligd en door nog een keer op de knop te drukken dat het bestand (werkbladen) weer worden ontgrendeld. Ook dit laatste moet dan via een wachtwoord. Ik heb nu de volgende code, maar die werkt NOG niet... :o Dank voor je hulp!

Public Sub MyMacro()
Const PWORD As String = "123"
Dim response As String
Dim msg As String
msg = "Voer wachtwoord in:"

While response <> PWORD
response = Application.InputBox(Prompt:=msg, Title:="Password", Type:=2)
Select Case response
Case CStr(False)
Exit Sub 'Cancelled
Case Else
msg = "Incorrect!" & vbNewLine & "Voer opnieuw wachtwoord in:"
End Select
Wend

'Voer code in

End Sub
Sub werkbladenbeveiligen()
Dim blad As Worksheet
For Each blad In ActiveWorkbook.Sheets
blad.Protect Password:="123"
Next blad
End Sub

Sub WerkbladenAllemaalUit()
Dim blad As Worksheet
For Each blad In ActiveWorkbook.Sheets
blad.Unprotect Password:="123"
Next blad
End Sub
 
Beveiliging macro knop!

Hallo allemaal,

Zou iemand mij kunnen helpen met de vraag hoe in vba een code te maken voor het beveiligen van een macroknop en tevens er voor te zorgen dat deze knop of knoppen het totale bestand (meerdere tabbladen) kan beveiligen in plaats van een beveiliging per tabblad.

Ik had eerder al een testbestandje meegestuurd.

Hartelijk dank voor een ieders reactie! :rolleyes:
 
Met onderstaand stukje werkt het bij mij.
Ik snap alleen niet waarom ik bij het uitzetten van de beveiliging eerst de userinterfaceonly op false moet zetten. Echter als ik unprotect zonder dat te doen, blijft deze op true staan.
Wellicht dat de echte excel goeroes hier een betere oplossing voor hebben...
Code:
Public Sub MyMacro()
    Const PWORD As String = "123"
    Dim response As String
    Dim msg As String
    msg = "Voer wachtwoord in:"
    
    While response <> PWORD
        response = Application.InputBox(Prompt:=msg, Title:="Password", Type:=2)
        Select Case response
            Case CStr(False)
                Exit Sub 'Cancelled
            Case Else
                msg = "Incorrect!" & vbNewLine & "Voer opnieuw wachtwoord in:"
        End Select
    Wend

'Voer code in
Call werkbladenbeveiligen

End Sub

Sub werkbladenbeveiligen()
Dim blad As Worksheet
For Each blad In ActiveWorkbook.Sheets
    If (blad.ProtectionMode = True) Then
        blad.Protect Password:="jef01", UserInterfaceOnly:=False
        blad.Unprotect Password:="jef01"
    Else
        blad.Protect Password:="jef01", UserInterfaceOnly:=True
    End If
Next blad
End Sub
 
Beveiliging macroknop!

Voor zover ik even snel kan zien werkt het bij mij nu ook. Dit is geweldig en scheelt mij een hoop werk. Thanks! :d:thumb:
 
Is het ook mogelijk om het wachtwoord afhankelijk te maken van een celinhoud?

Grtz, Frans
 
Dit topic is gedateert, m.a.w. het is ouder dan drie maanden en mag dus met rust gelaten mag worden. Topic gaat op slot en wordt overgedragen aan de afdeling BNw(Betere Naslagwerken)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan