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

cellen vergrendellen na dat ze zijn ingevuld

Status
Niet open voor verdere reacties.

davylenders123

Gebruiker
Lid geworden
20 jun 2010
Berichten
902
Zou in het volgende vb bestaand graag hebben dat de gegevens in het tablad adres geblokeerd worden van zodra ze zijn ingevuld .
Dit na het opslaan.

Nu wordt er enkel een paswoord gezet op de cellen die via celeigenschappen zijn geselecteerd.

Maar zou graag hebben als er namen en adressen bij komen dat deze cellen vergrendeld worden met het zelfde wachtwoord (5555) zodat deze niet kunnen gewijzigd worden zonder dat je het paswoord kent maar dat je de lege cellen wel kan blijven invullen zonder dat er achter een paswoord wordt gevraagd.

Bekijk bijlage blokeer gegevens.xls
 
ik heb het antwoord niet maar ben er wel erg nieuwsgierig naar... (en weet niet hoe ik een topic makkelijk kan volgen zonder er op te reageren, sorry)
 
ik heb het antwoord niet maar ben er wel erg nieuwsgierig naar... (en weet niet hoe ik een topic makkelijk kan volgen zonder er op te reageren, sorry)

Om een topic te kunnen volgen moet je gewoon in de blauwe balk boven de titel op onderwerp opties klikken en daar abonneer op deze vraag aanklikken en je wordt dan op de hoogte gehouden als er veranderingen zijn in deze topic.
 
Beste davylenders123 ;)

Zie bestandje.
Als de gegevens zijn ingevuld dient men achteraan OK in te vullen.
Van zodra dit is gebeurd zal de rij geblokkeerd worden.

Groetjes Danny. :thumb:
 

Bijlagen

Laatst bewerkt:
Beste davylenders123 ;)

Zie bestandje.
Als de gegevens zijn ingevuld dient men achteraan OK in te vullen.
Van zodra dit is gebeurd zal de rij geblokkeerd worden.

Groetjes Danny. :thumb:

Dit ook wel iets handig maar niet echt wat ik zoek.

Zou eigenlijk automtische moeten gebeuren als je het bestand sluit.
Dit gaat door verschillende personen worden ingevuld en die mogen het niet meer kunnen aanpassen na het sluiten.
En als ze dat ok tje niet zetten dan kunnen ze de gegevens blijven veranderen.
 
Probeer deze eens

Het werkt bedankt :thumb:

Maar heb nog een probleempje.

Het moet eigenlijk komen in een bestand met 4 tab bladen het eerste tabblad is een invulblad dat we elke keer in vullen en dan afdrukken.
En als het bestand dan wordt gesloten dan gaan de ingevulde gegevens terug weg.

Code:
Private Sub Workbook_Open()
 Sheets("adres").Protect "5555", userinterfaceonly:=True, AllowFiltering:=True
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each cl In Sheets("adres").Range("A4:N" & Sheets("adres").Cells(Rows.Count, 2).End(xlUp).Row)
    cl.Locked = True
Next
 ActiveWorkbook.Close True
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
 ActiveWorkbook.Close SaveChanges:=False
End Sub

Het laaste doet dat normaal als je het bestand sluit vraag hij niet voor op te slaan en hij slaagt ook niks op.

Maar dat geeft nu een foutmelding.
Wat moet ik dan aan de code hierboven veranderen?
 
De foutmelding krijg je omdat er 2x een BeforeClose-event staat in thisworkbook
Dan zal je een andere oplossing moeten vinden voor je invulblad want je wijzigt gegevens op je tabblad adres die bewaard moeten blijven, dus moet je opslaan maar als er ondertussen al wijzigingen gebeurd zijn op je invulblad blijven deze ook staan(wat dan weer niet mag).
Als je je BeforeClose-macro gebruikt worden de wijzigingen in je tabblad adres ook niet opgeslagen waardoor deze onbeschermd blijven.
Je begrijpt waarschijnlijk de tegenstelling die je hiermee oproept.:o
 
Laatst bewerkt:
Dan zal je een andere oplossing moeten vinden voor je invulblad want je wijzigt gegevens op je tabblad adres die bewaard moeten blijven, dus moet je opslaan maar als er ondertussen al wijzigingen gebeurd zijn op je invulblad blijven deze ook staan(wat dan weer niet mag).
Als je je BeforeClose-macro gebruikt worden de wijzigingen in je tabblad adres ook niet opgeslagen waardoor deze onbeschermd blijven.
Je begrijpt waarschijnlijk de tegenstelling die je hiermee oproept.:o

Kan je het dan niet per tabel regelen
Als je in tab blad 1 een aanpassing doet dat hij het niet opslaat en als je in de 3 andere
tabbladen iets aanpast dat hij het wel opslaat en de ingevuld cellen blokkerd tegen wijziging
 
Het lijkt mij dan eenvoudiger om de cellen van je invulform te deleten bij het verlaten van dit blad zodat je steeds je bestand kan opslaan
 
Beste davylenders123 ;)

Zie bestandje.
Als de gegevens zijn ingevuld dient men achteraan OK in te vullen.
Van zodra dit is gebeurd zal de rij geblokkeerd worden.

Groetjes Danny. :thumb:

Blijkbaar is het niet zo simpel om een andere metode te gebruiken voor mijn probleem.
Daarom zou ik het toch willen oplossen zoals jij hier hebt beschreven.
Maar ik zou dan graag hebben dat je de kolom categorie invult en daar arbeider kiest dat dan alles wordt vergrendeld van die rij.
Dit omdat de meeste toch arbeiders zijn en als het toch een bediende is zal ik die wel manueel blokkeren.
En zo is er geen extra kolom nodig.

Maar het origineel bestaand bestaat uit 4 tab bladen .
Het tab blad adres zou moeten doen wat hierboven beschreven staat.
De andere niet.

Het tab blad adres 2 zou dit ook moeten doen maar dan wel met een extra kolom met ok zoals jij hebt voorgedaan in u bestand.

Heb u code al eens geplakt in het origeneel bestaand en de cellen aangepast van n naar m maar als ik het dan doe dan vergrendeld hij de cellen die leeg zijn en de cellen die zijn ingevuld die kan je toch wijzigen.

Dit is de code

Code:
Private Sub Workbook_SelectionChange(ByVal Sh As Object, ByVal Target As Range)
For Each cl In Range("M4:M151")
If cl = "Arbeider" Then
cl.Rows.Locked
End If
Next
End Sub

Heb de code wel geplakt in vba van tab blad adres en niet in this workbook omdat het alleen in dat tab blad moet gebeuren ,of ben ik hier fout?
 
Ik volg niet helemaal meer :confused:
De enige reden om niet op te slaan zijn gegevens in je invulformulier die steeds gewist moeten worden. Waarom maak je dan geen afdrukmacro en wis alle ingevulde velden na het afdrukken. Op deze manier kan je toch steeds opslaan bij het verlaten v/h bestand :o
 
Ik volg niet helemaal meer :confused:
De enige reden om niet op te slaan zijn gegevens in je invulformulier die steeds gewist moeten worden. Waarom maak je dan geen afdrukmacro en wis alle ingevulde velden na het afdrukken. Op deze manier kan je toch steeds opslaan bij het verlaten v/h bestand :o

Het probleem is dat er verschillende mensen mee werken en deze ken er nog minder van dan ik.:D
Er heeft altijd zo een macro opgestaan dat hij niet vroeg voor op te slaan en alles gewoon wiste wat je had ingevuld op tab blad 1.
En dit wil ik eigenlijk zo houden zodat er voor de andere niet echt veel veranderd.
De tab bladen adres en adres 2 worden eigenlijk bijna nooit aangapast dit enkel wanneer er nieuw mensen in dienst komen en dat is niet zo vak.

Daarom zou ik het graag oplossen zoals danny heeft beschreven maar het lukt me niet echt om de code juist aan te passen.:o
 
Je wil het simpel houden maar je gaat wel extra handelingen vragen van je gevruikers. Neem gewoon in je BeforeClose-event op dat de waarden in je invulblad steeds op niets ("") ingesteld worden en je kan je bestand dan steeds opslaan met een leeg invulblad bv.
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each cl In Sheets("adres").Range("A4:N" & Sheets("adres").Cells(Rows.Count, 2).End(xlUp).Row)
    cl.Locked = True
Next
[COLOR="red"]Sheets("Invulblad").Range("A1,B1,C1").ClearContents[/COLOR]
 ActiveWorkbook.Close True
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan