ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Weekday function (https://www.excelbanter.com/excel-programming/438240-weekday-function.html)

Robert Crandal

Weekday function
 
Does VBA have a function which accepts an integer
input between 1 and 7, which returns a string value
to represent the corresponding day of the week??

For example, if you give the function an integer value
of 1, then it should give back a string of "Sunday"...
and the number 7 should return "Saturday".

I know I can easily write my own function, but I'm
curious if VBA provides a function already. No
need for me to reinvent the wheel.

thank you



Bob Phillips[_4_]

Weekday function
 
Don't think so, you would need to write one

Function MyWeekDay(DayNum As Long) As String
Dim Days As Variant

MyWeekDay = Format(Date - (Weekday(Date) - 2) + DayNum - 2, "ddd")
End Function


HTH

Bob

"Robert Crandal" wrote in message
...
Does VBA have a function which accepts an integer
input between 1 and 7, which returns a string value
to represent the corresponding day of the week??

For example, if you give the function an integer value
of 1, then it should give back a string of "Sunday"...
and the number 7 should return "Saturday".

I know I can easily write my own function, but I'm
curious if VBA provides a function already. No
need for me to reinvent the wheel.

thank you





Bernd P

Weekday function
 
Hello Robert,

Via VBA you can use
Format(n,"ddd")
or
Application.Worksheetfunction.Text(n,"ddd")
where n is your number 1, 2, 3, ... (starting with 1 = Sunday)

Regards,
Bernd

Robert Crandal

Weekday function
 
I just found out that VBA does actually provide a function of it's
own. It is called "WeekdayName()"

It works as follows:

WeekdayName(1) == returns "Sunday"
WeekdayName(1) == returns "Sunday"
WeekdayName(1) == returns "Sunday"
WeekdayName(1) == returns "Sunday"
WeekdayName(1) == returns "Sunday"
WeekdayName(1) == returns "Sunday"


"Bob Phillips" wrote in message
...
Don't think so, you would need to write one

Function MyWeekDay(DayNum As Long) As String
Dim Days As Variant

MyWeekDay = Format(Date - (Weekday(Date) - 2) + DayNum - 2, "ddd")
End Function




Robert Crandal

Weekday function
 
I mean:

WeekdayName(1) == returns "Sunday"
WeekdayName(2) == returns "Monday"
WeekdayName(3) == returns "Tuesday"
WeekdayName(4) == returns "Wednesday"
WeekdayName(5) == returns "Thursday"
WeekdayName(6) == returns "Friday"
WeekdayName(7) == returns "Saturday"


Robert Crandal

Weekday function
 
Nice, that would work just as well too!

Thank you everyone!


"Bernd P" wrote in message
...
Hello Robert,

Via VBA you can use
Format(n,"ddd")
or
Application.Worksheetfunction.Text(n,"ddd")
where n is your number 1, 2, 3, ... (starting with 1 = Sunday)



Bob Phillips[_4_]

Weekday function
 
Aah yes, I recall seeing that once now you mention, just never had cause to
use it.

Bob

"Robert Crandal" wrote in message
...
I just found out that VBA does actually provide a function of it's
own. It is called "WeekdayName()"

It works as follows:

WeekdayName(1) == returns "Sunday"
WeekdayName(1) == returns "Sunday"
WeekdayName(1) == returns "Sunday"
WeekdayName(1) == returns "Sunday"
WeekdayName(1) == returns "Sunday"
WeekdayName(1) == returns "Sunday"


"Bob Phillips" wrote in message
...
Don't think so, you would need to write one

Function MyWeekDay(DayNum As Long) As String
Dim Days As Variant

MyWeekDay = Format(Date - (Weekday(Date) - 2) + DayNum - 2, "ddd")
End Function






Bernd P

Weekday function
 
Hello Robert,

Good one.

Regards,
Bernd


All times are GMT +1. The time now is 04:52 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com