多语言Excel VBA宏(法语/英语/瑞典语)

时间:2017-11-29 17:53:51

标签: excel-vba internationalization vba excel

晚上好!

我在瑞典语Mac上开发了一个英文宏。该宏运行在法国使用的Mac上,法语为Excel。所有子程序都能很好地工作......但只有一个。我使用公式“= VALUTA(123,4567)”[瑞典语为货币],因此它应截断为2位小数,然后转换为文本。相应的法语公式是“= DEVISE(123,4567)”,我现在使用它。我用VBA宏填充了这个公式的整列,结果是“NOM?” [名称?];人们会认为Excel无法识别DEVISE()。

然而,这是真正的问题,如果我标记任何这些单元格并按RETURN(手动,即)它识别公式并打印123,45 !!!

我很沮丧。任何指向解决方案的指针都将非常感激。谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了办法。代码使用ROUNDDOWN()到2个小数[这是好的,但不是真的想要我],这也适用于法语Excel,而不是DEVISE()。之后,我使用串联来获取带有两位小数的值。如果我不使用ROUNDDOWN(),结果将是"放置:2.34567"。所以这就是我现在所拥有的:

ActiveSheet.Range("A5").Formula = "= LOOKUP(2,1/(H:H>1),H:H)" ActiveSheet.Range("AJ138")=ROUNDDOWN(A5,2) ActiveSheet.Range("AQ13:AQ129").Formula = "=""Place: ""&AJ13&"

这是我能做的最好的事情。谢谢大家的回复。我将发布另一个问题,如何获取查找函数找到的地址。