Question:
I have a macro that inserts worksheets functions into the active sheet.
Now I ran into troubles as this macro should run on machines with
different language versions of excel installed. The SUM function in
english must be entered as SUMME in a german office version. And there
may be other languages that must be supported too.
How can I write a language-independent macro?
Thanks for any hints!
Answer:
when writing code that inserts functions you should use the
.Formula ( or .FormulaR1c1) property of ranges and enter the functions
in english with USenglish separators, then everything should work fine.
Range("a1").Formula = "=SUM($b$3:$b$13,$d$3:$d$13)"
when you'r programming and dont know the usfunction name,
just create the formula in your local Excel worksheet
Then in the VBE pull the translation to the immediate ("DIREKT") window
like: ?activecell.formula
For international "transportable" workbooks avoid functions from the
addin Analysis ToolPak or "Analyse Funktionen"
And for some functions e.g. =ZELLE() or CELL() that have string
arguments you must enter the "english" argument rather than the
localized.
=CELL("filename",a1) will work regardless of which language versions
in german you'll see =ZELLE("filename";A1).
when you enter english argument strings in your german worksheet,
you'll see they work fine.
Submit Your
Own Answer!