gpt4 book ai didi

vba - 在 VBA 中编写公式会导致编译错误 - 双引号

转载 作者:行者123 更新时间:2023-12-04 21:52:14 25 4
gpt4 key购买 nike

我正在研究 Excel VBA 宏。

我必须在单元格内写一个公式。

我指的公式是CONTA.SE() .它的行为方式与 COUNTIF() 相同。做。我猜是COUNTIF() Excel 的意大利语版本。

更准确地说,我要实现的公式是:

=CONTA.SE(Report!E:E;"<20")

以便它适用于 中的单元格值E2 到最后一个非空单元格。

我想我因为双引号而遇到了麻烦。

我尝试了许多解决方案,例如:
Cells(5, 2).Formula = "=CONTA.SE(Report!E2:E" & rowCount & ";" & Chr(34) & "<20" & Chr(34) & ")"

或者:
Cells(5, 2).Formula = "=CONTA.SE(Report!E2:E" & rowCount & ";" & """<20""" & ")"

我得到的错误信息是:

run-time Error 1004:
Error defined by the Object or the Application.



谁能告诉我如何正确编写它?

最佳答案

.Formula使用公式的英文版本。如果您想使用本地化公式(例如意大利语),您必须使用 .FormulaLocal .

所以要么本地化:

Cells(5, 2).FormulaLocal = "=CONTA.SE(Report!E2:E" & rowCount & ";" & Chr(34) & "<20" & Chr(34) & ")"

或英文
Cells(5, 2).Formula = "=COUNTIF(Report!E2:E" & rowCount & "," & Chr(34) & "<20" & Chr(34) & ")"

请注意,本地化(意大利语)表单仅在意大利语 Excel 中使用时有效,但英文版本可在任何 Excel 中使用。所以建议在 VBA 中使用英文版。在 VBA 中使用英文公式会自动将其转换为单元格中正确的本地化形式(用户不会注意到任何差异)。

另请注意,英文分隔符是 ,而意大利(和大多数欧洲)分隔符是 ; .

关于vba - 在 VBA 中编写公式会导致编译错误 - 双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51747334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com