• 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 :beveiliging gegevens in formulier

Status
Niet open voor verdere reacties.

hawkie

Gebruiker
Lid geworden
22 mei 2002
Berichten
994
Stel, ik heb een formulier waar meerdere mensen op verschillende werkplekken gegevens in moeten vullen.
Aan het einde van de dag wordt dit formulier per mail naar een " telefoondienst "gestuurd, die er van 17.00 tot 08.00 uur ook weer gegevens op moeten invullen.

De kans dat gegevens onbedoeld gedelete worden is natuurlijk altijd aanwezig.

Hoe kan ik ervoor zorgen dat mensen wel gegevens kunnen toevoegen maar niet kunnen overschrijven of verwijderen ???
 
Het enige wat ik kan bedenken is dat je, voordat het bestand per e-mail gestuurd wordt, de tot dan toe ingevulde gegevens beveiligd middels celbeveiliging.

Nadeel is dat je elke dag opnieuw een aantal cellen moeten beveiligen, omdat het aantal cellen dat niet overschreven mag worden (denk ik) anders is per dag.
 
Een mogelijke oplossing:

Plaats deze code in ThisWorkbook
Code:
Private Sub Workbook_Open()
  Sheets("Blad1").Protect Password:="ww", UserInterfaceOnly:=True
End Sub
en deze code koppel je aan een knop op het werkblad:
Code:
Private Sub CommandButton1_Click()
  Range("A1").CurrentRegion.Locked = True
End Sub
Telkens je op de knop klikt worden de reeds gevulde cellen geblokkeerd.
Je kan de blokkering ook automatisch laten uitvoeren via een event-macro, maar dan wordt het wel moeilijk als er iemand per ongeluk een typfout maakt.
 
Margano, er is natuurlijk ook de mogelijkheid tot het maken van een macro. Als ik de vraag goed begrijp dan is er "iemand" die aan het eind van de dag het deels ingevulde formulier gaat doorzenden. Als die "iemand" de macro "B" activeert, dan wordt in een klap al het werk van andere mensen die er die dag aan gewerkt hebben beveiligd.

(Je moet dan natuurlijk wel onder de macro B een aantal instructies bij elkaar klikken, waarin de cellen worden geselecteerd en vervolgens worden beschermd, van mensen die die dag reeds waardes hebben ingevuld. Buiten de selectie laat je de cellen die 's-avonds nog bewerkt moeten worden.)

Desnoods maak je nog een macro "C", die 's-avonds tot slot door de allerlaatste "bewerker" wordt geactiveerd. Dan is elke cel beveiligd.................
 
Is het niet beter dat je Access voor zo iets gebruikt of een andere database Excel is alleen maar een rekenscheet en niet echt geschikt om als database te werken
 
Nee, in acces werkt het niet, want het is niet zo dat ik met vaste gegevens werk die ik dan in een formulier kn invoegen. Excel werkt gewoon gemakkelijker omdat je daar in de cellen de steeds wisselende informatie kunt invullen.

Had het eerst gewoon in Word gemaakt, maar dat werkte niet echt lekker.
 
Hoi Marga,

Het is niet moeilijk om via VbA een formule te maken dat als de cel niet leeg is geen nieuwe waarde ingevoerd kan worden.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row > 10 And Target.Column < 20 Then
Cells(2, 2) = Target.Formula
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Rij = ActiveCell.Row: Kol = ActiveCell.Column
If Rij > 10 And Kol < 20 Then
If Not IsEmpty(Cells(2,2)) Then Cells(Rij, Kol).Formula = Cells(2, 2).Formula
End If
End Sub

Deze code zorgt er voor dat in de rijen A11:S65536 een eenmaal ingevulde waarde of tekst telkens weer wordt terug gezet.

Natuurlijk is het mogelijk om verschillende delen van het werkblad op deze wijze te beveiligen of om met een wachtwoord de beveiliging even op te heffen. Ook is het mogelijk om alle wijzigingen op een apart blad te laten registreren. Als het interessant is, wil ik het wel verder uitwerken.

Jeroen
 
Laatst bewerkt:
Vraagje: kunnen mensen die helemaal geen verstand hebben van Excel, en dus alleen maar gegevens moeten invullen op het formulier, hier dan ook mee omgaan.
Of is het zo dat die codes eenmalig worden ingevuld?

Ben zelf ook niet zo gehaaid met Excel dus het invoeren van die formules zal ook nog ene hele klus worden :o
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan