Calculate cells for a timesheet

M

Michaelcip

I'm trying to use Word to acct. for employee's daily/weekly worktime via a
timesheet that they can fill out. They will put their In-time (8:00am), then
Out-time (12:00pm) (lunch), then back In-time (from lunch) & finally
Out-time. It needs a Daily total & the Weeks total - my attempts have
thusfar been disasterous. I've scoured the internet for a form that gets me
close, but no luck. Thanks in advance for those attempting to help me here,
Michael
 
M

macropod

Hi Michael,

Word really isn't designed for this - it may be a powerful word processor, but an Excel-like spreadsheet it isn't. I'd recommend
using Excel - it'll be far easier to set up and maintain.
 
D

Doug Robbins - Word MVP

If the data is being entered into formfields as are used in a protected
document, the following code will calculate the elapsed time between the
information entered into two formfields

' a Macro to calculate the elapsed time for formfields with Date format of
HH:mm
' Macro created 16 May 1999 by Doug Robbins - Word MVP
'
Start = ActiveDocument.FormFields("Text1").Result
StartHour = Val(Left(Start, 2))
StartMinutes = Val(Right(Start, 2))
StartTimeMinutes = StartHour * 60 + StartMinutes
Finish = ActiveDocument.FormFields("Text2").Result
FinishHour = Val(Left(Finish, 2))
FinishMinutes = Val(Right(Finish, 2))
FinishTimeMinutes = FinishHour * 60 + FinishMinutes
ElapsedMinutes = FinishTimeMinutes - StartTimeMinutes
ElapsedHours = Int(ElapsedMinutes / 60)
ElapsedMinutes = ElapsedMinutes - ElapsedHours * 60
ActiveDocument.FormFields("Text3").Result = Str(ElapsedHours) & ":" &
Format(ElapsedMinutes, "00")

With a bit of ingenuity, you could modify it so that it could be used from
the second of each pair of formfields (the out field) to do what you want,
but, as macropod indicates, it would probably be simpler to use an Excel
spreadsheet.

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top