![]() |
Preserving date format in VB
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 |
Preserving date format in VB
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 |
Preserving date format in VB
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 |
Preserving date format in VB
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 |
All times are GMT +1. The time now is 09:42 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com