View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Stuart Peters
 
Posts: n/a
Default auto working week-ending date for timesheet

Here is what I do in VBA my date field is S2 (2,19) and my week ends on
Saturday

Private Sub Workbook_Open()
' Unprotect protected cells to add user name
Worksheets("Time Report").Unprotect (UserInterfaceOnly)
'Get User name
Worksheets("Time Report").Cells(2, 3) = Worksheets("Time
Report").Application.UserName
If 7 - Weekday(Date, vbSunday) + Date < Sheet2.Cells(2, 19).Value Then
If MsgBox("Week Ending: " + Str(Worksheets("Time Report").Cells(2,
19).Value) + _
" Is not this week, Do you want to start a new week?", vbYesNo Or
vbQuestion, "Start a New Week?") = vbYes Then
Worksheets("Time Report").Cells(2, 19) = 7 - Weekday(Date,
vbSunday) + Date
bNew = True
End If
End If
If bNew Then
fname = "CSTS " & Str(Worksheets("Time Report").Cells(2, 19).Value2)
& " " & _
Worksheets("Time Report").Application.UserName
ThisWorkbook.SaveAs Filename:=fname
End If
bNew = False
' Protect worksheet again
Worksheets("Time Report").Protect (UserInterfaceOnly)
End Sub


"Dm76" wrote:

Thanks that worked well. Is it possible to have the function only update when
the file is saved and not at any other time. e.g. when opened or data changed
in the cell?

"Biff" wrote:

Hi!

It's not real clear what you want.

If you want a date that is always the Sunday of that week:

=TODAY()-WEEKDAY(TODAY(),2)+7

Biff

"Dm76" wrote in message
...
I would like to have an auto updating date for a timesheet. At the start of
the week the date would show the date at the end of the week. At the start
of
each week the date would change to the end date of that week.