ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   excel and dates (https://www.excelbanter.com/excel-programming/337455-excel-dates.html)

inquirer

excel and dates
 
Why is working with dates so frustrating in excel?

I have this code snippet:


dim sdate as date
sdate="01/01/1901"
stdate=right(sdate,4) & mid(sdate,4,2) & left(sdate,2)

In excel2002, stdate evalutes correctly to 19010101
but in excel 2003 I get an error at the stdate line because sdate at
this point is 1/01/1901.

What do I have to do to get consistency?

The point is to read in a date via a form in the format dd/mm/yyyy but
if no date is read in, set sdate to 01/01/1901. Then I want stdate to be
in the format yyyymmdd.

Is there another way to do this that will work across all versions of excel?

Thanks
Chris

Mike Fogleman

excel and dates
 
Try this:

Dim sdate As String

That way Excel won't try to force its funky date rules on the variable.

Mike F
"inquirer" wrote in message
...
Why is working with dates so frustrating in excel?

I have this code snippet:


dim sdate as date
sdate="01/01/1901"
stdate=right(sdate,4) & mid(sdate,4,2) & left(sdate,2)

In excel2002, stdate evalutes correctly to 19010101
but in excel 2003 I get an error at the stdate line because sdate at this
point is 1/01/1901.

What do I have to do to get consistency?

The point is to read in a date via a form in the format dd/mm/yyyy but if
no date is read in, set sdate to 01/01/1901. Then I want stdate to be in
the format yyyymmdd.

Is there another way to do this that will work across all versions of
excel?

Thanks
Chris




Ron Rosenfeld

excel and dates
 
On Wed, 17 Aug 2005 09:13:13 +1000, inquirer wrote:

Why is working with dates so frustrating in excel?

I have this code snippet:


dim sdate as date
sdate="01/01/1901"
stdate=right(sdate,4) & mid(sdate,4,2) & left(sdate,2)

In excel2002, stdate evalutes correctly to 19010101
but in excel 2003 I get an error at the stdate line because sdate at
this point is 1/01/1901.

What do I have to do to get consistency?

The point is to read in a date via a form in the format dd/mm/yyyy but
if no date is read in, set sdate to 01/01/1901. Then I want stdate to be
in the format yyyymmdd.

Is there another way to do this that will work across all versions of excel?

Thanks
Chris


Well, sdate is a date; if you want a string representation in stdate you could
use the FORMAT function:

Dim sdate As Date
Dim stdate As String

sdate = "01/01/1901"
stdate = Format(sdate, "yyyymmdd")


--ron


All times are GMT +1. The time now is 05:28 PM.

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