Need to create a monthly calendar with Tuesday starting the week off

  • Thread starter Thread starter Joeal
  • Start date Start date
J

Joeal

Hi All,

I need to create a monthly calendar using Excel with each month on
it's own worksheet. The problem is I need the weeks to go from Tuesday
to Monday instead of Sunday to Saturday. And I need to be able to
change the year and reuse it. Any one have any ideas?

Thanks
 
Joeal,

I have a workbook based on John Walkenbach's Calendar array that, with
slight modifications, does just that. If you'd like me to send it to you,
I'd be happy to.
 
Thank you Rick, I’d would really appreciate that!

You can send it here:

(e-mail address removed)
 
joeal62 said:
I need to create a monthly calendar using Excel with each month on
it's own worksheet. The problem is I need the weeks to go from Tuesday
to Monday instead of Sunday to Saturday. And I need to be able to
change the year and reuse it. Any one have any ideas?

Just happen to have:

Sub CalTue()
Dim yr%, mo%, smo$, dy%, i%, irow%, s$, dow%, Dt As Date
yr = InputBox("Year?")
For mo = 1 To 12
Dt = mo & "/" & 1 & "/" & yr ' 1st of month
smo = Format(Dt, "mmm") ' MMM
For i = 1 To Sheets.Count ' find sheet
If Sheets(i).Name = smo Then Sheets(i).Select: Exit For
Next i
If i > Sheets.Count Then ' or add new sheet
Sheets.Add
s = ActiveSheet.Name
Sheets(s).Name = smo
End If
Sheets(smo).Cells.Delete ' clear
' -- do one month calendar
Cells(1, 1) = smo & ", " & yr ' row 1 is monthname
irow = 3 ' 3rd+ rows are days
Do While Month(Dt) = mo
dow = WeekDay(Dt, vbTuesday)
Cells(2, dow) = Format(Dt, "ddd") ' 2nd row is weekdays
If dow = 1 And Day(Dt) > 1 Then irow = irow + 1
Cells(irow, dow) = Day(Dt)
If mo = 3 And Day(Dt) = 7 Then _
Cells(irow, dow).Interior.ColorIndex = 3
Dt = Dt + 1
Loop
Next mo
End Sub
 
Thanks Dave!

Rick sent me something so perfect I didn’t have to change a thing.

Thanks all ~
 

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

Back
Top