excel formula localization - excel

I developed a macro heavy excel file with multiple country tabs that are intended to be updated by people in different countries.
I am having a trouble with a user that updated the file with the excel with Russian locale settings. Somehow formulas in the tab(where she did changes) were translated into Russian (SUM -> СУММ) and when another colleague with the German locale settings opened the file, only these formulas were not translated back to German(the file was pretty much broken). The German user could still see the Russian formuals. The other English formulas were properly translated to German.
I am looking for a way to:
Either stick to English locale in the file on all systems;
or to make sure that formula translation is done properly.
I will appreciate any hint.
Thanks!

Related

An issue when generating text with national symbols using VBA in Excel 2019

I am using some VBA add-in to generate text from numbers, that text contains national Lithuanian, German or any other national symbols. This used to work fine with the previous versions of Excel so far, but the system has now been upgraded from scratch and it does not seem to work well with Excel 2019.
In VBA, the code looks fine and you can see the national symbols like "š" (well after setting the locale to Lithuanian, before they were appearing as multiple strange symbols):
, however when in excel the functional is called, the output has just � instead of any national symbol. All of the national symbols are marked with the same � sign in Excel 2019. But you can write manually national symbols just fine in Excel, just what comes out of VBA is garbage missing those symbols.
It looks like this in a cell:
Trys �imtai �, 00 ct
Does anybody know how to fix this and make them appear normal with how they are visible within the code?
A few other observations are that when copying and pasting the code from the VBA Editor to Notepad++ the national symbols get lost as well and they appear as different strange symbols. Also when trying to use the find function in the VBA Editor window to find anything with the national symbols - no results are ever found as long as you don't remove the national symbols...
In my understanding, support for "international" ("non-Latin") characters is determined by your Windows Regional Settings, not by Excel or by the VBA IDE.
Since I'm in Canada I can't easily test on my end to verify this, but interestingly, your example character of š displays the opposite of how it shows for you: it renders properly on the worksheet but as gibberish in VBA.
Incidentally I determined the Unicode id number for š (Unicode 353) by pasting the symbol into cell A1 and then in another cell using formula =UNICODE(A1). The opposite function (to return a character from it's code) is UNICHAR. The VBA equivalents are AscW and ChrW.
I was aware that the VBA IDE can be made to display "international" characters by adjusting Windows Regional Settings (like discussed here), but I didn't realize any setup would make them not render on the spreadsheet since for me, most Unicode characters display properly on a worksheet.
I assume the characters don't work for you in other applications besides Excel. If that's not the case, and this problem is specific to Excel (or if you can't otherwise get it figured out by adjusting Windows Regional Settings), then I'd suggest contacting Microsoft Tech Support.
More information is here or here or in this search might also be helpful.
hi i had same problem in latvian
just uncheck utf - 8 beta in regional language settings for non unicode
enter image description here

Add support to column and sheet names which are in Japanese

I wrote some logic to autogenerate string based on column Name and sheetName in VBA. It was working fine for english language.
Now, I need to do the same work for Japanese template as well as. In VBA editor, I am getting
Japanese sheetName/columnName as "-----------".
But it works if I change the language of my system from English to Japanese.
Is there any way to make Japanese template work in English OS as well?

Excel 365 function/formula names gets translated. How to avoid it?

I am using excel 365 (web) within 3 computers (one with Win8.1, another with W10, and a tablet with W10 also), each with one language configuration (between English and Spanish, not in my hand to change, sorry)
Also, I open the workbooks with the App version on the Desktop
it occurs that in browsers, I need to type formulas in Spanish instead of English to work, (i.e. SUMA instead of SUM) even in the pick up list appear in English, even keyboard is set to English and nevermind if computer is set to Spanish or English
How can avoid excel translating formulas at every single time?
I have my profile all set up in English in oneDrive, and everything else happens to be in English. Only thing set up to Spain is my location (as I am located now indeed in Spain) but try to set everything else, even my Account-location on UK.
Excel uses the system settings for its language choice, even "," , "." , ";" and ":" behave differently based on thr system settings.
Set or install all 3 computers to the same language from the start, just setting the keyboard layout is not sufficient.

Name of Excel formula in different languages in xlsx format

I generated Excel file in my application in xlsx format. Unfortunately if I use English name of the function and my Excel is not set to English then Excel identifies it as bad function name. Simillar situation does not happen in xls format.
Is it any way to avoid this problem?
Configuration of Excel itself is not acceptable solution as client should not be forced to make changes in his environment.
Thanks in advance for any help
Excel has its own way for translating the formulas from every language to English. You should not take care of that, it does it quite well. Thus a file in Spanish Excel can be read in French Excel without further adjustments.
E.g., see the German formula "SUMME" in F1. It is translated by excel to "SUM", when you ask about it -> see the immediate window on the right.
The only thing you should avoid is formula like this:
activecell.FormulaR1C1Local= "=SUMME(Z(8)S(-2):Z(9)S(-2))", because it takes the local formula as a string and Excel cannot find a way to translate "SUMME" to "SUM".

Opening VBA code exchanges characters

I have a problem with some code I have written in an English version of Excel 2011 for mac. When I open the workbook in Excel 2013 in Swedish certain Swedish letters in the code get converted to other characters, rendering the code useless. In other words, I have used special characters to define variables (I know, not good practice) and as conditionals (If x = 'Ombeställning' for example).
Is there an easy way to force the compiler to read my code as UTF-8? I'm on a tight deadline and I really don't feel like retracting all my variable declarations and subsequently changing my defined range names. If there is no other way, please tell me so I can get on changing the code.
Lastly, opening the workbook in Excel 2013 changed some of the row widths/heights, is this avoidable? I've spent a lot of time on formatting and it simply doesn't look professional when parts of the text are cut off etc.
EDIT: I forgot to mention I am opening 'Excel 2013 ' on a PC, which is probably the culprit regarding character encoding rather than the Excel version language.

Resources