#1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 106
Default date format

Hi Folks,

I'm running a query and one of my columns returns a delivery date that is
formated as yyyy-mm-dd. Although the column is formatted as a general field,
I'm trying to changed the output to read Monday or Tuesday, etc. It seems
that due to the format of yyyy-mm-dd excel won't recognize this as a date
when I change the cells formatting.

I have a feeling I'm going to have to reformat the output to read mm/dd/yyyy
in order to then change it again to read Monday, Tuesday, etc. But I have
absolutely no idea where to start.

TIA!
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 921
Default date format

Try this

Public Function WeekdayName(ByVal aDate As Date) As String

aDate = Format(aDate, "yyyy-mm-dd")

Select Case Weekday(aDate)
Case 1
WeekdayName = "Sunday"
Case 2
WeekdayName = "Monday"
Case 3
WeekdayName = "Tuesday"
Case 4
WeekdayName = "Wednesday"
Case 5
WeekdayName = "Thursday"
Case 6
WeekdayName = "Friday"
Case 7
WeekdayName = "Saturday"
End Select
End Function


"Stephen" wrote:

Hi Folks,

I'm running a query and one of my columns returns a delivery date that is
formated as yyyy-mm-dd. Although the column is formatted as a general field,
I'm trying to changed the output to read Monday or Tuesday, etc. It seems
that due to the format of yyyy-mm-dd excel won't recognize this as a date
when I change the cells formatting.

I have a feeling I'm going to have to reformat the output to read mm/dd/yyyy
in order to then change it again to read Monday, Tuesday, etc. But I have
absolutely no idea where to start.

TIA!

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default date format

There is already a WeekDayName function built into VB; it takes the day of
the week number as its argument. So, to use it with a Date argument, you
would do this...

NameOfDay = WeekdayName(Weekday(aDate))

where aDate is a Date data type. Another way to have done this would be...

NameOfDay = Format(aDate, "dddd")

where aDate is again a Date data type.

I'm not sure either of these will help the OP as he says his "date" is not
being recognized as a Date to Excel.

--
Rick (MVP - Excel)


"Jeff" wrote in message
...
Try this

Public Function WeekdayName(ByVal aDate As Date) As String

aDate = Format(aDate, "yyyy-mm-dd")

Select Case Weekday(aDate)
Case 1
WeekdayName = "Sunday"
Case 2
WeekdayName = "Monday"
Case 3
WeekdayName = "Tuesday"
Case 4
WeekdayName = "Wednesday"
Case 5
WeekdayName = "Thursday"
Case 6
WeekdayName = "Friday"
Case 7
WeekdayName = "Saturday"
End Select
End Function


"Stephen" wrote:

Hi Folks,

I'm running a query and one of my columns returns a delivery date that is
formated as yyyy-mm-dd. Although the column is formatted as a general
field,
I'm trying to changed the output to read Monday or Tuesday, etc. It
seems
that due to the format of yyyy-mm-dd excel won't recognize this as a date
when I change the cells formatting.

I have a feeling I'm going to have to reformat the output to read
mm/dd/yyyy
in order to then change it again to read Monday, Tuesday, etc. But I
have
absolutely no idea where to start.

TIA!


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 106
Default date format

No dice... unless I'm doing something wrong...

I added your function and call it the following way...

Range("B11").Select
WeekdayName

when I reach that point ini my execution I receive a vb error "Compile
error: Arguement not optional"

any thoughts?


"Jeff" wrote:

Try this

Public Function WeekdayName(ByVal aDate As Date) As String

aDate = Format(aDate, "yyyy-mm-dd")

Select Case Weekday(aDate)
Case 1
WeekdayName = "Sunday"
Case 2
WeekdayName = "Monday"
Case 3
WeekdayName = "Tuesday"
Case 4
WeekdayName = "Wednesday"
Case 5
WeekdayName = "Thursday"
Case 6
WeekdayName = "Friday"
Case 7
WeekdayName = "Saturday"
End Select
End Function


"Stephen" wrote:

Hi Folks,

I'm running a query and one of my columns returns a delivery date that is
formated as yyyy-mm-dd. Although the column is formatted as a general field,
I'm trying to changed the output to read Monday or Tuesday, etc. It seems
that due to the format of yyyy-mm-dd excel won't recognize this as a date
when I change the cells formatting.

I have a feeling I'm going to have to reformat the output to read mm/dd/yyyy
in order to then change it again to read Monday, Tuesday, etc. But I have
absolutely no idea where to start.

TIA!

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 921
Default date format

That should be weekdayName(Range("B11").value)


"Stephen" wrote:

No dice... unless I'm doing something wrong...

I added your function and call it the following way...

Range("B11").Select
WeekdayName

when I reach that point ini my execution I receive a vb error "Compile
error: Arguement not optional"

any thoughts?


"Jeff" wrote:

Try this

Public Function WeekdayName(ByVal aDate As Date) As String

aDate = Format(aDate, "yyyy-mm-dd")

Select Case Weekday(aDate)
Case 1
WeekdayName = "Sunday"
Case 2
WeekdayName = "Monday"
Case 3
WeekdayName = "Tuesday"
Case 4
WeekdayName = "Wednesday"
Case 5
WeekdayName = "Thursday"
Case 6
WeekdayName = "Friday"
Case 7
WeekdayName = "Saturday"
End Select
End Function


"Stephen" wrote:

Hi Folks,

I'm running a query and one of my columns returns a delivery date that is
formated as yyyy-mm-dd. Although the column is formatted as a general field,
I'm trying to changed the output to read Monday or Tuesday, etc. It seems
that due to the format of yyyy-mm-dd excel won't recognize this as a date
when I change the cells formatting.

I have a feeling I'm going to have to reformat the output to read mm/dd/yyyy
in order to then change it again to read Monday, Tuesday, etc. But I have
absolutely no idea where to start.

TIA!



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default date format

Your "dates" are plain old text.

Try converting them to real dates by:
Select the column
Data|Text to columns (in xl2003 menus)
Fixed width (but don't have any lines in the parsing window)
Choose Date (ymd)
And then finish up.

Then you should be able to reformat that column using any date format you want,
even:

dddd yyyy-mm-dd
or just plain
dddd



Stephen wrote:

Hi Folks,

I'm running a query and one of my columns returns a delivery date that is
formated as yyyy-mm-dd. Although the column is formatted as a general field,
I'm trying to changed the output to read Monday or Tuesday, etc. It seems
that due to the format of yyyy-mm-dd excel won't recognize this as a date
when I change the cells formatting.

I have a feeling I'm going to have to reformat the output to read mm/dd/yyyy
in order to then change it again to read Monday, Tuesday, etc. But I have
absolutely no idea where to start.

TIA!


--

Dave Peterson
  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 106
Default date format

brilliant! worked like a charm...

Here's what I ended up using...

Range("B11:B65536").Select
Selection.TextToColumns Destination:=Range("B11:B65536"),
DataType:=xlDelimited, _
TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, OtherChar _
:="-", FieldInfo:=Array(1, 3), TrailingMinusNumbers:=True
Selection.NumberFormat = "dddd"

My range will always start at B11.

Thank you very much!

"Dave Peterson" wrote:

Your "dates" are plain old text.

Try converting them to real dates by:
Select the column
Data|Text to columns (in xl2003 menus)
Fixed width (but don't have any lines in the parsing window)
Choose Date (ymd)
And then finish up.

Then you should be able to reformat that column using any date format you want,
even:

dddd yyyy-mm-dd
or just plain
dddd



Stephen wrote:

Hi Folks,

I'm running a query and one of my columns returns a delivery date that is
formated as yyyy-mm-dd. Although the column is formatted as a general field,
I'm trying to changed the output to read Monday or Tuesday, etc. It seems
that due to the format of yyyy-mm-dd excel won't recognize this as a date
when I change the cells formatting.

I have a feeling I'm going to have to reformat the output to read mm/dd/yyyy
in order to then change it again to read Monday, Tuesday, etc. But I have
absolutely no idea where to start.

TIA!


--

Dave Peterson
.

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
permanent conversion of 1904 date format to 1900 date format Jos Excel Worksheet Functions 4 November 26th 15 02:48 PM
change date format dd/mm/yyyy to Julian date format? itzy bitzy Excel Worksheet Functions 1 December 8th 09 07:42 PM
Convert date + time text format to date format Paul Ho Excel Worksheet Functions 2 May 22nd 07 05:47 PM
code to convert date from TEXT format (03-02) to DATE format (200203) Gauthier[_2_] Excel Programming 0 September 22nd 04 03:26 PM
Change a date in text format xx.xx.20xx to a recognised date format concatenator Excel Programming 1 November 24th 03 11:33 PM


All times are GMT +1. The time now is 10:35 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"