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

bij afsluiten gevulde cellen: locked = true

Status
Niet open voor verdere reacties.

bandito bob

Terugkerende gebruiker
Lid geworden
26 jun 2007
Berichten
2.167
Beste helpers,

Ik wil graag iets met VBA oplossen, maar weet daar net ff te weinig van.

Ik heb een bestand waar een bepaalde range handmatig gevuld zal gaan worden.
Het blad wordt beveiligd met een werkblad beveiliging. De cellen in het gebied zullen dus eerst vrij gegeven zijn (unlocked).
Nu wil ik dat bij het sluiten van het bestand (workbook_beforeclose), de gevulde cellen(tekst, datum of bedrag) worden ge-locked, zodat als het bestand een volgende keer wordt geopend de gevulde cellen niet (zomaar) gewijzigd kunnen worden.

Bijna alles lukt mij, alleen zit ik met het selecteren van de gevulde cellen in een bepaalde range.
Een voorbeeld bestandje lijkt mij niet echt nodig, het gaat denk ik maar om 1 regen VBA code. Als het wel nodig is post ik wel ff wat.

groeten Bandito bob
 
hmmm, ik denk dat ik er al ben, via de macro recorder en CTRL+G >> ga naar >> speciaal >> constanten,kom ik er denk ik wel.
 
SpecialCells is inderdaad een goede manier van werken.
 
Ik heb het opgelost met de volgende code:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

    ActiveSheet.Protect , userinterfaceonly:=True
    Range("A1:H10").SpecialCells(xlCellTypeConstants, 23).Locked = True
    Range("A1").Select

End Sub
 
Laatst bewerkt:
Bandito, Nu doe je je actie voor het sluiten... Zorg er dan wel voor dat er nog ff wordt opgeslagen anders heeft de gebruiker nog de mogelijkheid om op de verschijnende melding van opslaan (er is immers iets gewijzigd aan de sheet) op NO te klikken. En dan staat alles bij een volgende keer openen gewoon open!

Groet, Leo
 
Inderdaad Ginger, dit zag ik ook al.
Je krijgt nu vanzelf de melding of je wilt opslaan.
Als je "Ja" kiest gaat het goed, maar bij "Nee" gaat het inderdaad fout.

Ik heb nu toch maar onderaan de code de volgende regel toegevoegd:
Code:
ActiveWorkbook.Save
Nu is de melding weg, en wordt de werkmap altijd opgeslagen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan