Which day

G

geebee

Hi,

I need to write something which determines whether or not the day is the
first, second, third or fourth day. For example if it is Thursday, determine
whether or now its the first, second, third or fourth Thursday of the month.

Thanks in advance,
geebee
 
M

Mike H

Hi,

Alt+F11 to open Vb editor , right click 'ThisWorkbook' and insert module and
paste the code in.

Call with
=DayOfMonth()

At present it only works on today date but it would be easy to modify to
pass a date parameter.

Function DayOfMonth() As String
myday = Weekday(Now, 1)
For x = 1 To Day(DateSerial(Year(Date), Month(Date) + 1, 1) - 1)
testdate = DateSerial(Year(Now), Month(Now), x)
testday = Weekday(DateSerial(Year(Now), Month(Now), x))
If testdate > Now Then GoTo getmeout
If myday = testday Then dom = dom + 1
Next
getmeout:
DayOfMonth = Date & " is the " & dom & " " _
& WeekdayName(Weekday(Now, 2), abbreviate, 2) _
& " of " & MonthName(Month(Date))
End Function

Mike
 
P

Peter T

=INT((DAY(A1)-1)/7)+1

But I fear that's too obvious and I'm missing something!

Regards,
Peter T
 
D

Don Guillett

Looks good and if you really want to get fancy
4thThursday of March

=INT((DAY(G10)-1)/7)+1& CHOOSE(INT((DAY(G10)-1)/7)+1,"st","nd","rd","th")&
TEXT(G10,"dddd")& " of "& TEXT(G10,"mmmm")
 
R

Rick Rothstein

Add one more "th" to your CHOOSE function to handle the 5th such and such a
day in the month; for example September 30, 2010 will be the 5th Thursday in
the month.

=INT((DAY(G10)-1)/7)+1& CHOOSE(INT((DAY(G10)-1)/7)+1,
"st","nd","rd","th","th")&TEXT(G10,"dddd")&" of "& TEXT(G10,"mmmm")
 
D

Don Guillett

Rick, I caught that after I sent but figured the user could figure out how
to correct
 

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