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

Excel opslaan m.b.v. knop

Status
Niet open voor verdere reacties.
Hallo, ik ontdekte toch nog een puntje.

Wanneer ik het blad beveilig werkt de code niet meer omdat er een flink aantal geblokkeerde cellen in zitten waarvan de (onderstaande) code probeert om de formules door waardes te vervangen.
Code:
[A1:V28] = [A1:V28].Value
Is er een mogelijkheid om de beveiliging van het blad eraf te halen voordat het stukje code wordt uitgevoerd en na het uitvoeren van het stukje code er weer op te zetten ?
Het wachtwoord is: W8woord

groeten Marcel

Vond zelf deze code nog, ik heb alleen geen idee waar ik het neer moet zetten in de VBA editor.
Code:
ActiveSheet.Protect UserInterfaceOnly:=True
 
Laatst bewerkt:
Marcel,

Aan het begin unprotect met het wachtwoord en aan het eind protect met het wachtwoord. Kijk in de vba-help.
 
Code:
ActiveSheet.UnProtect "W8woord"

' je code

ActiveSheet.Protect "W8woord"

Als je UserinterfaceOnly wilt gebruiken, haal dan de beveiliging eraf en sla via VBA op:

Code:
ActiveSheet.Protect "W8woord"  UserInterfaceOnly:=True.

Met vriendelijke groet,


Roncancio
 
Die eerste code is me wel gelukt om er tussen te zetten.
ik vind de 2e echter wat eleganter, ik heb alleen geen flauw idee waar ik dit precies neer moet zetten.

Groeten Marcel
 
De 2e code kan je overal zetten bijvoorbeeld bij ThisWorkbook zetten maar dan zou ik wel activesheet vervangen door de sheetnaam.
Wat je ook kan doen is de code even apart draaien via een macro.
Zorg er wel voor dat de beveiliging er eerst af is.

Met vriendelijke groet,


Roncancio
 
Onder ThisWorkbook staat nu:
(Heeft iets te maken met het automatisch invullen van de gebruikersnaam)
Code:
Private Sub WorkBook_Open()
    Range("X1").Value = UserName
End Sub
Waar moet ik nou die code zetten ?
------------------------------------------
Ik bemerk ook nog het volgende:

In cel V7 staat een 3-cijferig personeelsnummer ingevuld.
Bij een aantal medewerkers is dit 101, 102, etc maar bij andere werknemers is dit bijv. 077, 078 etc.
Wanneer het bestand nu opgeslagen wordt met de code dan veranderd het in 77, 78, etc. en zo ook de bestandsnaam.
Graag wil ik dat dit een 3-cijferige code blijft.
De celeigenschappen staan al op ###000 ingesteld.

Groeten Marcel
 
Laatst bewerkt:
Code:
Private Sub WorkBook_Open()
ActiveSheet.Protect "W8woord", UserInterfaceOnly:=True
Range("X1").Value = Username
End Sub

X1 zal wel gevuld worden maar men kan niet handmatig beveiligde cellen aanpassen.

Je kunt het personeelsnummer ook als eigenschap tekst meegeven zodat de 0'en bewaard blijven.

Met vriendelijke groet,


Roncancio
 
Bedankt,

Code werkt en ik heb de celeigenschap veranderd naar tekst.

groeten Marcel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan