excel – Range.Formula属性是否转换为其他语言环境

当用户在英文版Excel中的工作表中手动输入公式并将此文档发送给另一个版本中具有Excel的用户时,该公式将自动转换为打开文档的语言.

'Formula entered in Sheet1!B1 in the English Excel version
=VLOOKUP(A1,Sheet2!$A$1:$C$150,3,FALSE)
'Formula as shown in a Dutch Excel version
=VERT.ZOEKEN(A1;Sheet2!$A$1:$C$150;3;ONWAAR)

当我以编程方式添加公式时,在我的英文版本中,它看起来像这样:

Sub AddFormula()
    ThisWorkbook.Worksheets("Sheet1").Cells(1, 2).Formula = "=VLOOKUP(A1,Sheet2!$A$1:$C$150,3,FALSE)"
End Sub

如果我在我的英文版本上运行此程序,然后保存文档并将其发送给使用其他语言的用户,这将是正常的,因为公式在单元格中,因此转换为第二个用户使用的任何语言和区域设置.

我的问题是当第二个用户使用EN-US格式编写的代码中的公式以荷兰语(或其他语言)Excel运行程序时会发生什么.它会被翻译还是会引发错误?如果是后者,我将如何解决这个问题并使公式插入语言证明?

最佳答案
在Excel vba中,.Formula要求插入的公式为EN-USA格式.这与本地设置无关.

然后,当Excel将其放入工作表时,它会将其翻译成本地白话.

因此,无论本地设置如何,它都可以跨语言工作.

VBA还有.FormulaLocal,它允许以母语输入公式.但是(据我所知)它不会跨越不同的本地设置.

转载注明原文:excel – Range.Formula属性是否转换为其他语言环境 - 代码日志