Language problems with VBA and dynamic Named Ranges

H

hswerdfe

I have a spreadsheet that worked fine on every computer I had access
to.
It makes heavy use of "dynamic named ranges", VBA, and links to an
access database.
I sent this spreadsheet to a few international colleagues who seem to
be having issues running it.
IF I set my language settings to theirs (Dutch) and I am now
experiencing the same problem as they are.

The problem is when I try to execute this code
ThisWorkbook.Names("OPTIONS_COUNT_ALL").RefersToRange


I get this error => <Application-defined or object-defined error>

I think this error has something to do with accessing dynamic ranges
in languages other then English via VBA.

as "OPTIONS_COUNT_ALL" is defined as the dynamic range
"=OFFSET(OPTIONS_COUNT_HEADER, 1, 0, NUM_DROP_DOWNS,1)"

but this line will work
ThisWorkbook.Names("NUM_DROP_DOWNS").RefersToRange
as does this one
ThisWorkbook.Names("OPTIONS_COUNT_HEADER").RefersToRange


NOTE: both of these are static defined names as $EE$9 and $ED$2
$ED$2 currently has the value of 13


Keep in mind that if I switch my computer back to English the
spreadsheet works fine.
Also if I check the "Define Name" dialog box in excel to see what
"OPTIONS_COUNT_ALL" resolves to I see that it is defined as "=OFFSET
(OPTIONS_COUNT_HEADER; 1; 0; NUM_DROP_DOWNS;1)" and resolves to $EE
$10:$EE$22

I think this has something to do with the function separator being ";"
instead of "," in many non English languages.

I just don't know how to fix this issue in an easy way so that VBA
works as expected when the computer is in dutch.

The computer in question is
Windows XP SP3
with Office 2003

I changed my language by going to "Control Panel" -> "Regional and
Language Options"
Then Selecting "Dutch (Belgium)" from the "Standards and formats" drop
down box in the "Regional Options" Tab....

Thanks in advance for any help

Howard
 

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