password:=

  • Onderwerp starter Onderwerp starter pasan
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

pasan

Terugkerende gebruiker
Lid geworden
6 nov 2010
Berichten
1.110
hallo

ik zoek nu al een tijdje hoe ik in vba code een blad kan beveiligen in excel

ActiveSheet.Unprotect password:= "deze ken ik"
code
ActiveSheet.protect password:= "deze ken ik"

nu wilde ik graag het volgende.
5 mensen werken met 1 workbook, deze heeft meerdere sheets ik krijg ze allemaal wel beveiligd maar niet met een wachtwoord, via vba dan.
password:= wilde ik een celverwijzing gebruiken bijv:blad1 A1
wat dus in blad1 A1 staat word dan het wachtwoord om van elke sheet de beveiliging eraf te kunnen halen en er weer op zetten
dit ivm macros
1 persoon kan maar in blad 1 komen en in die cel zijn wachtwoord keuze maken
deze persoon moet soms ook van welke sheet ook de beveiliging eraf kunnen halen om eventueel iets aan te passen
is dit mogelijk?


groet.

Pasan:thumb:
 
wat dus in blad1 A1 staat word dan het wachtwoord om van elke sheet de beveiliging eraf te kunnen halen en er weer op zetten

En dus zichtbaar voor iedereen :shocked:
Wat is dan nog het nut van een paswoord :o


Wil je echter enkel de macro's beveiligen, dus dat niemand aan je code kan maar wel aan de volledige workbook, dan doe je dat op een andere manier! Is dit wat je wenst te doen??
 
En dus zichtbaar voor iedereen :shocked:
Wat is dan nog het nut van een paswoord :o


Wil je echter enkel de macro's beveiligen, dus dat niemand aan je code kan maar wel aan de volledige workbook, dan doe je dat op een andere manier! Is dit wat je wenst te doen??

hoi
in mijn voorbeeld die ik in mijn vraag omschrijf is maar 1 persoon die het verborgen blad 1 in beeld kan krijgen want blad 1 zit achter een inlog, dus niemand anders krijgt blad 1 te zien die ene persoon die dus overal in kan komen is dus de enigste die beveiligde bladen kan bewerken.
dit om te voorkomen dat anderen de layout van welk blad ook per ongeluk aanpassen.
Die ene persoon die overal in kan komen hoeft dan alleen maar in A1 van blad 1 een wachtwoord naar eigen keuze in te vullen.
omdat zijn kennis van vba nog minder is dan de mijne moet ik er voor zorgen dat hij geen wachtwoorden in de vba codes hoeft aan te passen.
ik weet ik kan zelf overal een wachtwoord in de vba code zetten en dan werkt het ook maar om het voor de hoofdgebruiker makkelijk te maken was mijn opzet zoals ik hierboven omschreven heb.

het vba gedeelte beveiligen is mij wel bekend dat is geen probleem

ik hoop dat ik het duidelijk omschreven heb

groet

Pasan:thumb:
 
Laatst bewerkt:
pasan,

Kijk eens hier.

excel amateur bedankt voor je link.
op die manier is het makkelijk om alle bladen tegelijk van een wachtwoord te voorzien.
Worksheets(i).Unprotect ("wachtwoord") als nu het wachtwoord een celverwijzing zou kunnen zijn in mijn vraag opgelost.

groet

Pasan:thumb:
 
pasan,

Hij gebruikt het Password wat je in Blad1 in de cel A1 zet.
Code:
Sub BeveiligingBladenAan()
'beveiliging alle werkbladen aanzetten
For i = 1 To Worksheets.Count
Worksheets(i).Protect Password:=Sheets("Blad1").Range("A1")
Next
End Sub

Sub BeveiligingBladenUit()
'beveiliging alle werkbladen uitzetten
For i = 1 To Worksheets.Count
Worksheets(i).Unprotect Password:=Sheets("Blad1").Range("A1")
Next
End Sub
 
Laatst bewerkt:
dank je wel ExelAmateur
ik ga deze code toepassen
ik heb een aantal knoppen waarmee ik bladen zichtbaar maak (was een verzoekje van collega) ik ga proberen jou code hier te intergreren.
helaas vanavond geen tijd meer.
ik laat weten of het gelukt is.
bedankt alvast.

groet

Pasan:thumb:
 
ben vandaag aan het werk gegaan met jou code ExcelAmateur
op zich werkt het.
maar nu loop ik tegen het volgende probleem aan
de eerste keer klopt op alle bladen het gekozen wachtwoord, dus blad1 A1
tot dan gaat alles goed.
maar als ik in A1 op blad1 een ander wachtwoord invul dan moet ik eerst elk blad met het ouwe wachtwoord ontgrendelen en daarna klopt het nieuw gekozen wacht woord weer.
heb je een idee wat ik hier aan kan doen?

groet
Pasan:thumb:
 
pasan,

maar als ik in A1 op blad1 een ander wachtwoord invul dan moet ik eerst elk blad met het ouwe wachtwoord ontgrendelen en daarna klopt het nieuw gekozen wacht woord weer.

Dat is logisch.
Daar zat ik gisteravond al aan te denken.

Als je thuis de deur van een nieuw slot wil voorzien, zal je eerst het oude slot moeten verwijderen.

Er zit ook een stukje code bij die het Password verwijderd, gebruik dit dan eerst en plaats dan een nieuw Password in A1
 
Laatst bewerkt:
pasan,



Dat is logisch.
Daar zat ik gisteravond al aan te denken.

Als je thuis de deur van een nieuw slot wil voorzien, zal je eerst het oude slot moeten verwijderen.

Er zit ook een stukje code bij die het Password verwijderd, gebruik dit dan eerst en plaats dan een nieuw Password in A1

kan het ook zijn dat de cel A1 die bij deze code geblokeerd is daarom niet te lezen is
ik kan bij eigenschappen de cel A1 wel de blokkade uit vinken maar als het blad dan beveiligd is kan ik cel A1 niet invullen
bij het beveiligen van de bladen moet A1 niet geblokkeerd worden
zoiets van (geen idee... cel A1 blokkade vrij = true)

groet

Pasan:thumb:
 
Laatst bewerkt:
ik heb het verborgen blad blokade vrij gekregen op zich gaat het dan wel goed
helaas heb ik niet alle bladen Visible
en dus kan ik daar de wachtwoorden niet van verwijderen

groet

Pasan:thumb:
 
pasan,

Ik heb 2 bladen verborgen en het beveiligen en vrij maken ging.

Zet anders het test bestandje even hier.
 
maakt het nog iets uit hoeveel bladen ik gebruik? en op welk blad het wachtwoord staat?
ik heb 11 bladen tot nu toe en op blad 11 staat het wachtwoord in cel (I2)
als ik op de knop wachtwoord verwijderen klik verwijderd de macro alle wachtwoorden behalve van blad 11 ook al is deze de zelfde en krijg ik de foutmelding dat het wachtwoord onjuist is terwijl dit niet zo is

Code:
For i = 1 To Worksheets.Count

Worksheets(i).Unprotect

als ik met de muis op de i ga staan in de code komt er een klein tekstvelde met i = 2

groet
Pasan:thumb:
 
oeps ik heb net iets ondekt
ik heb in de VBA project een blad staan die ik helemaal niet meer heb
blad 10 heb ik een tijd terug al verwijderd maar staat nog wel in de lijst en kan hm ook niet verwijderen via rechtermuis knop
mijn conclusie is op dit moment dat daarom die foutmelding steeds terug komt wachtwoord is onjuist
 
ahum ahum...............
had even een wakker moment, in de eigenschappen van blad 10 stond verry hidden ............................maar oke.
die 2 knoppen die de wachtwoorden weghalen werken op die bladen die Viseble=true zijn.
nou vooruit ik maak alle bladen Viseble.
alleen het blad waar de knopppen en het wachtwoord zelf opstaan wordt het wachtwoord niet verwijderd. dit hoort zo? op zich vind ik het best maar mischien heb je een tip?
 
zoekt en ik heb gevonden

ExcelAmateur mag ik je bedanken voor je hulp ik heb het eindelijk opgelost.
krijg ook geen fout meldingen meer.
je code werkt perfect als...................... pff wakkere ik.
Alle bladen ook daadwerkelijk het zelfde WACHTWOORD hebben.
door mijn geprobeer en getest waren er nog 2 bladen met een ander wachtwoord:o
oeps.
deze inzichten verplichten mij ook dat ik de cel waar het wachtwoord in staat moet verstoppen onder een knop en via een kleine userform met textbox een waarde moet geven.
want als de gebruiker eerst een nieuw wachtwoord typt en daarna op de knop klikt wachtwoorden verwijderen gaat het dus niet werken en als de gebruiker het oude wachtwoord is vergeten heb i een probleem. (of ik) :d
ik neem aan dat deze code gewoon werkt in office 2000
dus de vraag gaat op opgelost en nogmaal bedankt

groet

Pasan:thumb:
 
Laatst bewerkt:
maakt het nog iets uit hoeveel bladen ik gebruik?

Door gebruik te maken van "For Each..." niet :)

Code:
For Each objMySheet In objWorkbook.Worksheets
      Call ProtectDataSheet(objMySheet)
Next objMySheet
Ik gebruik een subroutine om wachtwoorden in en uit te schakelen maar dat hoeft niet.
Het gebruik van "For Each" is echter sterk aan te raden boven die loop met (i) :evil:
 
mcs51mc,

Het gebruik van "For Each" is echter sterk aan te raden boven die loop met (i)
Wat is het verschil?
Hij telt hier toch hoeveel bladen er zijn.
Code:
For i = 1 To Worksheets.Count
Hier zeg je voor elk Blad, komt volgens mij op het zelfde neer.
Code:
For Each objMySheet In objWorkbook.Worksheets
 
Een workbook is een collection of objecten van het type worksheet.
Scrollen door een collection doe je met "For Each" niet met een (i) counter.

Stel je hebt een worksheet "Inkomsten" die nu nummer 1 heeft. Zal dat altijd zo zijn, zelfs wanneer je worksheets toevoegt, wist, verplaatst???
Daar staat geen garantie op :confused:

Met "For Each" hoef je daar niet wakker van te liggen :d
 
Door gebruik te maken van "For Each..." niet :)

Code:
For Each objMySheet In objWorkbook.Worksheets
      Call ProtectDataSheet(objMySheet)
Next objMySheet
Ik gebruik een subroutine om wachtwoorden in en uit te schakelen maar dat hoeft niet.
Het gebruik van "For Each" is echter sterk aan te raden boven die loop met (i) :evil:

en hoe maak ik deze code werkend met mijn verwijzing naar een cel waarde in een blad?
ik zou het graag willen testen
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan