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

ik denk niet dat het zal helpen.

er is namelijk leiding die de urenstaat ondertekent voor de medewerkers.
deze leiding vult de urenstaat zelf ook in en dat wordt weer ondertekent door het management.

een paraaf systeem is daar een simpele oplossing voor.

ik zit alleen nog met punt 1a en 2a.

Toch bedankt!
 
Haije,

Ik zie de potentie van environ.

zou jij voor mij een opzetje kunnen laten zien van de code die bij een dergelijk systeem hoort?
Er word dan in de code bepaald welke gebruiker toegang krijg tot cel (X,Y,Z) etc.

Bedankt!
 
Laatst bewerkt:
Julian,

heel simpel kan het door bij geselecteerde gebruikers de beveiliging uit, en bij alle anderen juist aan te zetten...
 
Nee, ik snap wat je bedoelt.

Ik heb alleen niet genoeg programmeer kennis om de code te noteren.
Zou jij een voorbeeld kunnen notereren met bijvoorbeeld ''Gebruiker X''
 
zie bijlage
 

Bijlagen

Haije,

Dit zal inderdaad veel beter werken,

op dit moment heb ik hem alleen nog niet helemaal te pakken.

Als ik mijn gebruikersnaam probeer te veranderen in die van de code krijg ik : Foutmelding 1004 - door de toepassing of door object gedefinieerde fout.
ik zie ook dat ik cel c7 op werkblad 3 kan invullen terwijl ik helemaal niks hierover zie in de code?


Zou ik jou nog een keer mogen vragen dit te doen op het volgende document:

Bekijk bijlage Urenstaat blanco Juliann.xlsm

Werkblad code = 111


Het gaat dan zoals besproken om Cel C33. de rest moet onbeveiligd blijven.


Hieronder het proces zoals ik voorogen heb nogeens.

1. Medewerker opent document
2. Medewerker vult de urenstaat in van week (X)
3. Medewerker sluit document
4. Leidinggevende opent document
5. Leidinggevende Vinkt C33 (Waar medewerker geen toegang tot heeft)
6. De ingevulde uren gaan op slot (via gegevens validatie van C33)

Extra
7. Leidinggevende Haalt Vink weer weg in verband met foutje
8. Medewerker past urenstaat aan.
9. Leidinggevende zet opnieuw Vink
 
Laatst bewerkt:
Julian,

probeer deze eens....
 

Bijlagen

Haije super bedankt!

Dit is perfect!

Ik heb een laatste verzoek..
is het mogelijk dat wat nu voor de leidinggevende telt. ook voor de medewerker kan gelden?

Dus iemand met Environ-username X kan cel A33 invullen.
met Environ-username Y kan cel C33 invullen.

en wanneer er een notatie plaatsvind in deze cellen word in de onderliggende cel bij DATUM de datum automatisch genoteerd?

bedankt voor de hulp!
 
Julian, ja dat kan ook.

Kijk eens in ThisWorkbook hoe ik het gedaan heb, dan kun je het zelf eenvoudig uitbreiden naar meer gebruikers....
 
Haije,

Dit is was ik heb.

Bekijk bijlage Done Done.xlsm

Ik krijg een Error bij afsluiting van het document,

1004 : ''Eigenschap locked van klasse range kan niet worden ingesteld''

Verder zou ik niet weten hoe ik de datum automatisch bij de corresponderende cel krijg (Na invoering van Cell A33 of C33).
 
Julian,

de error die je krijg wordt veroorzaakt doordat je de cellen A33 en B33 hebt samengevoegd tot één.
(Oorspronkelijk had je ook C33:F33 samengevoegd, maar die had ik zelf al gesplitst.)

M.b.t. de in te voegen datum: dat zou ik opnemen in de macro die de paraaf zet.
 
Haije,

Ik ben nu de code aan het noteren voor het hele document.
Deze bevat 53 weken.

Helaas krijg ik een foutmelding als ik het document afsluit.

De regel die het document weer op slot zou doen geeft een error.

''Subscript val buiten bereik.''

Dit gebeurd zodra ik meer dan 1 sheet in de regel verwerk, Sheets (''53 , 52 etc.'').

Zie hier.Bekijk bijlage Excel Ontwikkeling urenstaat.zip

( bestand is weer iets ingekort omdat het te groot is.)
 
Julian,

is het werkbaar om voor bij het openen van het bestand te vragen welke week bewerkt moet worden?
Je zou dan dus de naam van het te bewerken tabblad kunnen opvragen en de verwijzingen in ThisWorkbook (nu Sheets("10")) door die variabele kunnen vervangen (bv Sheets(week)).

Dus week = InputBox("Welke week verwerken?") om de naam op te vragen
 
Ik denk dat het geen probleem moet zijn.

In het ergste geval zal iemand af en toe de verkeerde week openen.
Zolang dit de hoofdfunctie(beveiliging) zijn werk laat doen is dat prima.

Ik heb alleen geen idee hoe ik de code hiervoor creëer.
 
zie ThisWorkbook in de bijlage..
 

Bijlagen

Haije,

Hij blijft errors geven.

Ik had de format van het document iets aangepast.
het word zoals hieronder.

Maar als ik bijvoorbeeld aangeef dat ik in week 53 wil werken geeft hij

Methode Select van Klasse Range is mislukt.

En markeert hij:
Sheets(week).[A33].Select

als ik de code weer wil runnen geeft hij:

Door de toepassing of door object gedefinieerde fout


Week 50 pakt hij dan weer wel...

Bekijk bijlage uren.xlsm
 
Laatst bewerkt:
Code:
Private Sub Workbook_Open()
Dim uNaam As String
    uNaam = Environ("username")
    week = InputBox("Welke week verwerken?")
    On Error GoTo foutje:
    Select Case uNaam
        Case "derj", "Yap"
            With Sheets(week)
                .Unprotect "111"
                .[A33].Locked = False
                .Protect "111"
                .EnableSelection = xlUnlockedCells
                Application.Goto .[A33]
            End With
    End Select
    
    Exit Sub
foutje:
    MsgBox "Het werkblad bestaat niet!", vbExclamation, "Werkblad onbekend."
End Sub

Bij het openen wordt gekeken wie ingelogd heeft. Indien dat derj of Yap is, wordt de gekozen week geopend.
Indien men een weeknummer invoert die niet in het bestand zit, verschijnt een foutmelding.

Met vriendelijke groet,


Roncancio
 
Roncancio,

Het is alleen wel de bedoeling dat Alleen Derj toegang heeft tot A33 en alleen Yup toegang heeft tot E33 voor iedereen behalve de persoon met autoriteit staan deze altijd op slot(in elk werkblad(week)).
op dit moment is dat nog niet het geval. ik krijg alsmaar foutmeldingen.
Enig idee wat ik kan toepassen?

Met vriendelijke groet,
 
Laatst bewerkt:
In dat geval...

Code:
Private Sub Workbook_Open()
Dim uNaam As String
Dim rRng As Range
    uNaam = Environ("username")
    week = InputBox("Welke week verwerken?")
    On Error GoTo foutje:
    Select Case uNaam
        Case "derj"
            Set rRng = [A33]
        Case "Yap"
            Set rRng = [E33]
    End Select
    
    If Not rRng Is Nothing Then
        With Sheets(week)
            .Unprotect "111"
            .Range(rRng.Address).Locked = False
            .Protect "111"
            .EnableSelection = xlUnlockedCells
            Application.Goto .Range(rRng.Address)
        End With
    End If
    Exit Sub
foutje:
    MsgBox "Het werkblad bestaat niet!", vbExclamation, "Werkblad onbekend."
End Sub

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan