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

Invullen cel enkel toegestaan na invoeren wachtwoord inputbox

Status
Niet open voor verdere reacties.

carloschouw

Gebruiker
Lid geworden
15 jun 2015
Berichten
225
Goedeavond,

Ik ben een tijdje aan het stoeien (en zoeken) naar een mogelijkheid dat je een cel enkel in kan vullen nadat je een wachtwoord ingevuld hebt. B.v. je klikt op A1 om daar wat in te willen vullen, na het klikken volgt er een inputbox met een wachtwoordfunctie. Na het invoeren van het wachtwoord is de cel vrij om in te kunnen vullen.

Een dergelijke werkwijze gebruik ik in een Userform met onderstaande code. Nu zoek ik een soortgelijk iets zonder Userform. Ik denk dat het een code moet zijn via Private Sub Worksheet_Change(ByVal Target As Range) maar ik ben hier niet in thuis verder v.w.b. mijn vraagstuk.

Is hetgeen waarnaar ik op zoek ben mogelijk?


Code:
Private Sub CommandButton1_Click()
             
    X = InputBoxDK("Unlock data invoer", "Wachtwoord invoeren")
    If X = "" Then Exit Sub
    If X <> "abc" Then
        MsgBox "Onjuist wachtwoord"

        Else
        
     TextBox1.Enabled = True
     TextBox2.Enabled = True
              
            Exit Sub
                  
    End If

End Sub
 
Dat is uiteraard mogelijk.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Not Intersect(Target, Range("A1:B50")) Is Nothing Then
 If InputBox("Wachtwoord alstublieft") = "jewachtwoord" Then
  ActiveCell.Select
 End If
 End If
End Sub

Het bereik in regel 2 moet je uiteraard zelf aanpassen...
 
Dank mvdvlist!

Ik liep te stoeien met een button, macro e.d. maar dat werd hem ook niet echt. Jouw code is super, precies wat ik zoek!

Ik heb getest enkel wanneer ik zonder wachtwoord op OK of Annuleren klik kan ik het bereik invullen, ook kan ik een ander wachtwoord invullen + OK klikken en dan is het bereik ook aan te passen.
 
Kleine aanpassing op #2:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:B50")) Is Nothing Then
        If InputBox("Wachtwoord alstublieft") <> "jewachtwoord" Then Target.Offset(, 2).Activate
    End If
End Sub

Bereik en Offset even zelf bepalen.
 
Het kan ook door op de tab Controleren de knop "Bereiken bewerken toestaan" te klikken. Het werkblad in kwestie moet wel worden beveiligd om dat te laten werken, maar je hebt er geen VBA code voor nodig.
 
Maar ja, waarom zou je het überhaupt willen ?
 
@jkpieterse,

Die kende ik nog niet. Grappig want het werkt in principe ook prima! Heeft een paar kleine beperkingen: je moet n.l. een wachtwoord invullen om iets te kunnen wijzingen, dat is super echter wanneer het bestand nog open staat en niet afgesloten wordt dan kan iemand anders de inhoud alsnog aanpassen. Na het afsluiten en weer opslaan werkt het weer netjes. Manco zit hem in deze dat het wachtwoord invoeren maar 1x is, zonder afsluiten werkbestand kan het gewoon bewerkt worden. Om dit te ondervangen moet je dus het werkbestand, na het invoeren van de data in die cel automatisch af laten sluiten middels VBA
 
Excel is ook helemaal niet geschikt voor dit soort activiteiten, daarvoor bestaan database applicaties met al hun role- en record-level security opties.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan