Simpele urenregistratie tool in excel

Status
Niet open voor verdere reacties.

GroenI

Nieuwe gebruiker
Lid geworden
20 dec 2019
Berichten
1
Hallo Excel-experts!

Wie kan mij helpen?

Ik wil een simpele urenregistratie tool maken in Excel om daar vervolgens analyses mee te doen.
Ik zal het even kort toelichten.

Tabblad 1: Invoer uren. Medewerkers kunnen hier onder hun eigen naam per weeknummer de gemaakte uren registreren.
Tabblad 2: DATA. Wanneer medewerkers alle uren hebben ingevuld en op opslaan klikken moet de regel automatisch worden weggeschreven naar dit tabblad.

De andere tabbladen zijn input voor de medewerker namen en weeknummers. Deze lijst moet uiteraard aangepast kunnen worden en het moet mogelijk zijn om medewerkers/ weeknummers toe te voegen / te verwijderen.

Nog een aantal voorwaarden:
- Wanneer medewerkers een weeknummer reeds geschreven hebben, moet er een melding komen "Je hebt de uren voor deze week al geschreven".
- Wanneer een medewerker de uren wil aanpassen voor die week moet dit ook mogelijk zijn. Dus de melding moet twee opties geven: "Ok" en "Ik wil graag mijn geschreven uren voor deze week aanpassen"
- Verder moeten de uren altijd minimaal optellen t/m 37,5 uur. Wanneer medewerkers te weinig uren schrijven, moet er een melding komen; "Zorg ervoor dat de uren optellen tot 37,5"

Ook zou ik graag een e-mailreminder willen instellen dat medewerkers die vrijdag eind van de dag nog niet hebben geschreven, een mail ontvangen met een reminder. Is dit überhaupt mogelijk?

Alvast heel erg bedankt voor jullie hulp!

Gr. GroenI
 

Bijlagen

Hallo,
ik zou het helemaal met VBA doen, gezien je wensen. Dart is wel een flinke klus, maar al die dingen met automatische mail e.d. kun alleen op die manier realiseren.
In bijgevoegd formulier heb ik een klein VBA code`tje gemaakt, die je gegevens wegschrijft. Samengevoegde cellen heb ik ongedaan gemaakt. VIJAND van VBA.
Kijk er eens naar...
 

Bijlagen

Gebruik een Userform. Er zijn voldoende aanpasbare voorbeeldjes te vinden op deze site.

@mvdvlist, Voor het het wegschrijven is maar 1 regel nodig. (Door het afbreekstreepje 2);)
Code:
Sub VenA()
  Blad2.ListObjects(1).ListRows.Add.Range.Resize(, 13) = Array(Blad2.ListObjects(1).ListRows.Count + 1, [F7].Value, [F9].Value, _
  [F11].Value, [F13].Value, [F15].Value, [F17].Value, [F19].Value, [F21].Value, [F23].Value, [F25].Value, [F27].Value, [F29].Value)
End Sub
 
Die door het verwijderen van het overbodige 'resize(,13)' weer iets korter kan.
 
Ik moet soms werkelijk lachen om jullie competitiedrang. Niet negatief bedoeld, uiteraard, maar omdat jullie er uit willen halen wat mogelijk is. Zeer leerzaam voor me. Je EEN regel code is trouwens wel een LANGE regel...:p

Maar nog een vraagje: Maakt het voor geheugen en/of snelheid nog uit welk systeem ik gebruik? Want dat is niet onbelangrijk, en in die materie heb ik me (nog) niet verdiept.

Bedankt weer,

Maarten
 
Met een beter ontwerp van je invoerblad is dit voldoende:

Code:
Sub M_snb()
  Blad2.ListObjects(1).ListRows.Add.Range.Offset(, 1).Resize(, 12) = Range("G7:S7")
End Sub

Ik veronderstel een formule in kolom A van de tabel voor het volgnummer: "=row()-1"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan