Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have some code which checks the entry in a cell is a date and prompts the
user for a date if it's not: Dim ADate Dim Message, Title, Default Message = "Enter the date as d/m/yy" Title = "Date Format" Default = "25/12/07" Worksheets("Summary").Range("E4").Activate ActiveCell.NumberFormat = "d/m/yy" ADate = ActiveCell Do Until IsDate(ADate) ' Display message, title, and default value. ADate = InputBox(Message, Title, Default) ActiveCell.Value = ADate Loop ActiveCell.NumberFormat = "d mmmm yyyy" The trouble is, if as the user, I input 1/8/07 (in place of "1st Aug 07"), it returns the US format. ie 8 January 2007. Can anyone help to correct this, please? Apologies if you recognise any of the code - it is plagiarised from this site. Thanks |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try this
Dim ADate Dim Message, Title, Default Message = "Enter the date as d/m/yy" Title = "Date Format" Default = "25/12/07" Worksheets("Summary").Range("E4").Activate ActiveCell.NumberFormat = "d/m/yy" ADate = ActiveCell Do Until IsDate(ADate) ' Display message, title, and default value. ADate = InputBox(Message, Title, Default) ActiveCell.Value = CDate(ADate) Loop ActiveCell.NumberFormat = "d mmmm yyyy" -- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "Jimbob" wrote in message ... I have some code which checks the entry in a cell is a date and prompts the user for a date if it's not: Dim ADate Dim Message, Title, Default Message = "Enter the date as d/m/yy" Title = "Date Format" Default = "25/12/07" Worksheets("Summary").Range("E4").Activate ActiveCell.NumberFormat = "d/m/yy" ADate = ActiveCell Do Until IsDate(ADate) ' Display message, title, and default value. ADate = InputBox(Message, Title, Default) ActiveCell.Value = ADate Loop ActiveCell.NumberFormat = "d mmmm yyyy" The trouble is, if as the user, I input 1/8/07 (in place of "1st Aug 07"), it returns the US format. ie 8 January 2007. Can anyone help to correct this, please? Apologies if you recognise any of the code - it is plagiarised from this site. Thanks |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Jimbob,
try replacing this line: ActiveCell.Value = ADate with this: ActiveCell.Value = CDate(Format(ADate, "dd/mm/yyyy")) -- Hope that helps. Vergel Adriano "Jimbob" wrote: I have some code which checks the entry in a cell is a date and prompts the user for a date if it's not: Dim ADate Dim Message, Title, Default Message = "Enter the date as d/m/yy" Title = "Date Format" Default = "25/12/07" Worksheets("Summary").Range("E4").Activate ActiveCell.NumberFormat = "d/m/yy" ADate = ActiveCell Do Until IsDate(ADate) ' Display message, title, and default value. ADate = InputBox(Message, Title, Default) ActiveCell.Value = ADate Loop ActiveCell.NumberFormat = "d mmmm yyyy" The trouble is, if as the user, I input 1/8/07 (in place of "1st Aug 07"), it returns the US format. ie 8 January 2007. Can anyone help to correct this, please? Apologies if you recognise any of the code - it is plagiarised from this site. Thanks |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Bob, What a star you are!
Fabulous - works a treat. Thank you so much "Bob Phillips" wrote: Try this Dim ADate Dim Message, Title, Default Message = "Enter the date as d/m/yy" Title = "Date Format" Default = "25/12/07" Worksheets("Summary").Range("E4").Activate ActiveCell.NumberFormat = "d/m/yy" ADate = ActiveCell Do Until IsDate(ADate) ' Display message, title, and default value. ADate = InputBox(Message, Title, Default) ActiveCell.Value = CDate(ADate) Loop ActiveCell.NumberFormat = "d mmmm yyyy" -- --- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "Jimbob" wrote in message ... I have some code which checks the entry in a cell is a date and prompts the user for a date if it's not: Dim ADate Dim Message, Title, Default Message = "Enter the date as d/m/yy" Title = "Date Format" Default = "25/12/07" Worksheets("Summary").Range("E4").Activate ActiveCell.NumberFormat = "d/m/yy" ADate = ActiveCell Do Until IsDate(ADate) ' Display message, title, and default value. ADate = InputBox(Message, Title, Default) ActiveCell.Value = ADate Loop ActiveCell.NumberFormat = "d mmmm yyyy" The trouble is, if as the user, I input 1/8/07 (in place of "1st Aug 07"), it returns the US format. ie 8 January 2007. Can anyone help to correct this, please? Apologies if you recognise any of the code - it is plagiarised from this site. Thanks |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Preserving date format | Excel Discussion (Misc queries) | |||
Fill a combobox preserving characters format | Excel Programming | |||
preserving cell format | Excel Discussion (Misc queries) | |||
preserving format in a formula | Excel Worksheet Functions | |||
preserving cell format between linked documents | Excel Discussion (Misc queries) |