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

Cel bevindt zich op beveiligt werkblad -- Foutmelding verwijst naar Code VBA

Status
Niet open voor verdere reacties.

JulianDerks

Gebruiker
Lid geworden
5 mei 2015
Berichten
43
Ik heb een probleem.

Inleiding:

Wij hebben een urenstaat in Excel waarin project uren per week worden genoteerd.
Elke week noteert een medewerker zijn uren in het tabel. Normaal wordt deze uitgeprint en ondertekent door een leiding gevende.

Er is een wens om de ondertekening te digitaliseren.

Nou heb ik Via een andere forum het document zo ver gekregen dat een leidingevende een paraaf kan zetten in cel C33. met behulp van een wachtwoord. (Via VBA)
Wanneer C33 is ingevuld, gaat de tabel van de uren op slot(gegevensvalidatie). zo kunnen er geen wijzigingen meer aangebracht worden. Helaas is de forum dat mij al zover had geholpen gestopt.

Als dit zoals boven beschreven zou werken, Top!

Hier is het probleem. Als cell C33 eenmaal is ingevuld en iemand probeert het te wijzigen dan begint excel verkeerde dingen te doen. er komt een error dat ''de cell of grafiek die u wilt wijzigen zich op een beveiligt werkblad bevindt''
als ik dan op foutopsporing klik wordt ik verwezen naar de code.

het bestand moet fraudeproof zijn

mijn vraag. hoe krijg ik het volgende voor elkaar.
- geen verwijzing naar de Code
- alleen toegang tot code voor persoon met autoriteit
- Geen foutmelding als iemand opnieuw aan cel C33 zit.


Ik heb het bestand in de bijlage gezet. het gaat om het 2e werkblad.

WACHTWOORDEN

111= werkblad

123= paraaf zetten in cell C33.

Bekijk bijlage 0 Blanco versie Urenstaat 2015 Julian Onderzoek.xlsm


Alvorens bedankt!
 
Laatst bewerkt:
Je moet je niet al te veel voorstellen van de beveiliging in Excel/VBA.
Er zijn eenvoudig tooltjes te vinden op internet waarmee je de beveiliging kunt openbreken of omzeilen.
Maar goed je kunt het proberen zoals in bijlage. Het VBA-wachtwoord is 111.
 

Bijlagen

Fraudeproof in excel bestaat niet. Verder heb je weinig begrepen van de code die door Bere51 genaakt is. Ik ben maar even opnieuw begonnen.

In Thisworkbook staat de code. En alleen voor twee leidinggevenden.
 

Bijlagen

Timshel en VenA bedankt voor de hulp!

Ik kom alleen nog een problemen tegen.

VenA,

1. Als de paraaf eenmaal staat wil ik hem graag ook weer kunnen verwijderen (als ik dezelfde persoon ben die de paraaf zet). Dit zodat er nog evt wijzigingen kunnen gebeuren.
2. Als de cel C33 leeg is. en de code wordt fout ingevoerd dan blijft de cel selectie op C33 staan en kan een persoon van alles erin noteren.
ik dacht dit te kunnen verhelpen door de werkblad te beveligen. hij geeft dan een fout melding en een verwijzing naar de code.

3. In het echte document zijn het 53 werkbladen (elk één week). Met de code in ThisWorkbook werken ze allemaal prima.
Er zijn alleen ook werkbladen waar ik niet wil dat de Functie werkt. (zoals in Blad2)
Ik heb de code van Blad2 gekopieert in de desbetreffende bladen.
alleen werkt dit niet.

CODE


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub



Verder snap ik dat het niet totaal fraude proof is. het moet alleen enige drempels bevatten. wat Timshel voorstelt zal voldoende zijn.


Alvorens bedankt!
 
Laatst bewerkt:
Julian,

Graag gedaan.
Wil je de vraag nog op opgelost zetten?
 
Julian,

je laatste bijlage bevat geen macro's.....
 
Julian,

wat zijn de ww bij het laatste bestand dat je gepost hebt?
 
Haije

Dit staat in de Code regels.

123

345

zijn ww voor paraaf zetten


1234 is ww voor werkblad beveiliging.
 
Julian,

zoek eens op Excel Environ.
Daarmee kun je heel veel dingen opvragen, o.a. de gebruikersnaam, dmv
Code:
range("C33") = Environ("username")
 
1. Als de paraaf eenmaal staat wil ik hem graag ook weer kunnen verwijderen (als ik dezelfde persoon ben die de paraaf zet). Dit zodat er nog evt wijzigingen kunnen gebeuren.
Wat is het nut dan om een paraaf te zetten? Met een paraaf keur je iets goed. Dus alleen de gebruiker die het 'hoofdwachtwoord' weet zou het weer vrij mogen geven.

2. Als de cel C33 leeg is. en de code wordt fout ingevoerd dan blijft de cel selectie op C33 staan en kan een persoon van alles erin noteren.
ik dacht dit te kunnen verhelpen door de werkblad te beveligen. hij geeft dan een fout melding en een verwijzing naar de code.
Zolang het blad niet beveiligd is mag er inderdaad overal wat ingevuld worden. Pas op het moment dat de paraaf gezet wordt gaat het blad op slot. Diegene die de paraaf zet in C33 zal deze waarde overschrijven. Dus hiervan zie ik het probleem niet.

Er zijn alleen ook werkbladen waar ik niet wil dat de Functie werkt. (zoals in Blad2)

Code:
If Sh.Name <> "Uren totaaloverzicht" Then
Sluit al één blad uit. Dus probeer wel eerst de code te begrijpen anders wordt het onderhouden van het bestand een lastig verhaal.:d

Er is wel een hele beveiligingsstructuur op te zetten. Maar persoonlijk zie ik er het nut niet van in. Een beetje afschermen om te sturen ok. Dichttimmeren niet te veel tijd aan besteden.

Miscchien maak ik nog wel wat en anders Haije wel.

Edit mijn laatste gedachte was juist:D
 
Laatst bewerkt:
Julian,

in de bijlage wat extra info
 

Bijlagen

@Haije Als ik jouw bestand open komen er allemaal persoonlijke gegevens van mij en mijn computer in beeld. Wat is dit voor een bestand? Graag uitleg.
 
@ Huijb
Haije heeft de volgende macro in het bestand opgenomen die wordt gedraaid zodra het bestand wordt geopend, om de werking van het environ-commando te demonstreren:

Code:
Private Sub Workbook_Open()
Sheets(1).Select
ActiveSheet.Unprotect
    [L3] = Environ("computername")
    [L8] = Environ("username")
    [N8] = Application.UserName
ActiveSheet.Protect
End Sub

De code leest een aantal systeemvariabelen (cmd -> set) uit en plaatst die op het werkblad. Kan geen kwaad. Niemand anders dan de gebruiker ziet deze informatie en er worden verder geen wijzigingen aangebracht.
 
Hallo Haije,

Er was even een misverstandje over jouw bestandje. Deze had ik verkeerd geïnterpreteerd doordat er gelijk op blad2 de naam van de PC ETC. Mijn zoontje heeft onlangs nogal veel last gehad van hackers en als je dan met al jouw goede bedoelingen je "systeem" voor je neus krijgt dan is dat even schrikken. Dus sorry voor de overlast en ik denk dat huijb de boel wel op schoont of al gedaan heeft.
 
@Haije : Ik zal mij even moeten inleven in Environ. ik ben er niet bekend mee. en zie nu nog niet hoe ik dat kan toepassen.

@VenA

1. Wat is het nut dan om een paraaf te zetten? Met een paraaf keur je iets goed. Dus alleen de gebruiker die het 'hoofdwachtwoord' weet zou het weer vrij mogen geven.

a. Het is de bedoeling dat de defecten opgevangen kunnen worden. mocht een leidinggevende een paraaf hebben gezet en de medewerker komt terug omdat hij iets over het hoofd heeft gezien. Dan is het gewenst dat het ''proces'' zich kan herhalen.
dit zijn situaties waar rekening mee gehouden moet worden.


2. Zolang het blad niet beveiligd is mag er inderdaad overal wat ingevuld worden. Pas op het moment dat de paraaf gezet wordt gaat het blad op slot. Diegene die de paraaf zet in C33 zal deze waarde overschrijven. Dus hiervan zie ik het probleem niet.

a. Het is gewenst dat de cel niet ingevuld kan worden. behalve met paraaf. Er zal namelijk ook een kopeling komen --> Wanneer cell C33 is ingevuld worden de uren naar het totaal overzicht van alle medewerkers bij de administratie verstuurd. ( hij staat dan namelijk als ''goedgekeurd'')
Daarbij gaat de urentabel op slot na invulling van C33. dus mocht iemand er wat type dan kunnen er geen wijzigingen meer worden aangebracht. en dat brengt mij weer terug op punt 1a.


Ik ben geen coder. Ik heb geen idee hoe ik oplossingen bedenk voor de problemen. maar ik snap in meeste gevallen bijvoorbeeld wel waar in de code ik moet zijn om het te onderhouden. leidinggevende toevoegen etc.


Zijn er eventueel nog oplossingen voor punt 1a en 2a?

bedankt voor de hulp van vele kanten.
 
Laatst bewerkt:
Ik zal mij even moeten inleven in Environ. ik ben er niet bekend mee. en zie nu nog niet hoe ik dat kan toepassen.

Je kan bv door de gebruikersnaam op te vragen zonder ww C33 invulbaar kunnen maken: alleen gebruiker met naam "g.bruiker" mag iets invullen in C33 van tabblad XYZ.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan