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

问题描述 投票:6回答:1

当用户在英文版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 excel-vba excel-formula vba
1个回答
9
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.