vba - 在 VBA 中编写公式会导致编译错误 - 双引号
问题描述
我正在研究 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""" & ")"
我得到的错误信息是:
运行时错误 1004:
由对象或应用程序定义的错误。
谁能告诉我如何正确编写它?
解决方案
.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 中使用英文公式会自动将其转换为单元格中正确的本地化形式(用户不会注意到任何差异)。
另请注意,英文分隔符是,
,而意大利(和大多数欧洲)分隔符是;
.
推荐阅读
- css - div溢出父级但不会滚动
- java - 如何在javaFX中不单击按钮从其他类打开弹出窗口?
- python - Django中两个模型之间的ManyToMany关系
- excel - 如何在 Excel 中将 8.991M 和 0.785M 转换为 8.911.000 和 785.000 之类的数字?
- google-apps-script - 从 GDrive 回收站中删除文件
- python - 如何在 aws sagemaker 中提供每日预先计算的预测?
- facebook - 权限错误 Facebook 自定义转换统计
- python - 使用多处理导入外部模块时使用 Django 视图
- swift - 导航栏中的搜索栏行为在 iOS 13 中不一致
- domain-driven-design - 与患者、牙医、治疗和病史的实体和聚合根源混淆