Change format DATE language

  • Thread starter Animal via OfficeKB.com
  • Start date
A

Animal via OfficeKB.com

Hi,

I have two problems:

1. I'm doing a general template. All the workstations are having the default
language for the format DATE set to Swedish, but I have to have it in English.
I have created a custom list containing "jan, feb, mar, apr, may, jun, jul,
aug, sep, oct, nov, dec" on my computer but this does not apply when I change
computer. When I for example switch computer and do an autofill it comes out
in Swedish.
How can I secure that I get the DATE format series in english?

2. The second problem continues in this problem, but can maybe be solved if
the first problem is, or? I have to do some calulations with a DATE variable,
to basically add a month to a variable.

Here is my code:

Dim reportdateOk As Date

reportdateOk = Range("ReportYear") & "-" & Range("ReportMonth") ex: (2007-
05-01)
reportdateOk2 = DateAdd("m", 1, reportdateOk)
ex: (2007-06-01)

This workes perfectly if I use Swedish months or months that are the same in
the swedish language (all months except for "maj" and "okt"), but not when I
use English months, because the variable reportDateOK is a DATE-variable and
it is programmed for Swedish.

Can someone please help me?

Thanks in advance!
/Animal
 
R

Ronald Dodge

First and foremost, be sure to be using the "Date" data type to assign to
date variables, so as all dates (whole number) and times (decimal number)
will be serialized.

From there, you can then use the "VBA.Format" function to return the format
of the date that you need. If you use the named date format, it will go by
what ever date format is setup on that system such as the following line of
command.

strDateOK = VBA.Format(reportdateOK,"Medium Date")

To see the different date/time format settings on a particular system, goto
Control Panel, Regional Settings.

Generally speaking, when I create variables, I explicitly assign them to
what ever type variable I plan on using it as, and I also set the first 3
letters of the variable name accordingly, such as the following

Dim dteReportDateOK as Date

This naming then allows for people to know what type of variable it is, and
more or less what it's for.

--

Sincerely,

Ronald R. Dodge, Jr.
Master MOUS 2000
 
A

Animal via OfficeKB.com

Hi again,

I think I understand what you mean but I can't get it to work, maybe I
explained it to you weared, let me try again:

1. The default system settings on all computers are set to Swedish language.
2. Cells on my worksheet:

StartDate 2006-10-03 This is DATE-format, in Swedish
language YYYY-MM-DD
EndDate 2007-11-30 This is DATE-format, in Swedish
language YYYY-MM-DD

ReportMonth May This is choosen from a list, and the
format is General.
ReportYear 2007 This is choosen from a list, and
the format is General.

3. My code:

Dim dteReportDateOk As Date

dteReportDateOk = Range("ReportYear") & "-" & Range("ReportMonth") (
output = 2007-05-01)
ReportDateOk2 = DateAdd("m", 1, dteReportDateOk)
( output = 2007-06-01)

If reportdateOk2 >= Range("StartDate") then..........

This code givs me an error because the ReportMonth (May) is in english, but
when it is in Swedish it workes just fine.
So I believe that I have to change the system settings before I do this code
and change it back again, but how do I do that?

Thanks in advance,
/Anita
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top