Excel宏中COUNTIF公式运行时错误1004的解决方案咨询
解决方案
错误原因
- VBA字符串中双引号需转义:直接在VBA字符串里写公式的双引号,会被VBA识别为字符串结束符,触发1004错误;
- 原代码缺少COUNTIF函数的右括号,且引号转义格式错误;
- 移除引号后,Excel会将
>500000000视为无效的单元格引用或名称,导致公式报错。
修正后的代码
ActiveSheet.Cells(Row2, Col2 + 2).Formula = "=COUNTIF('Share Price Data Gain Trans'!U" & Row3 & ":U" & Row1 - 1 & ",""">500000000""")-COUNTIF('Share Price Data Gain Trans'!U" & Row3 & ":U" & Row1 - 1 & ",""">750000000""")"
关键说明
- 在VBA中,若要在公式字符串里表示一个双引号,必须写成两个连续的双引号(
""),以此完成转义; - 修正后生成的Excel公式为:
=COUNTIF('Share Price Data Gain Trans'!U[Row3]:U[Row1-1],">500000000")-COUNTIF('Share Price Data Gain Trans'!U[Row3]:U[Row1-1],">750000000"),可正常统计符合条件的单元格数量。
内容的提问来源于stack exchange,提问作者Jagermeister
相关产品推荐
相关产品推荐

