如何为VBA生成的R1C1公式添加IFError( ),"0"?
问题
需要为VBA生成的R1C1格式公式添加IFERROR(原公式, "0")的错误处理逻辑,现有VBA代码如下,请问该如何修改实现需求?
For J = 5 To 21 For i = 1 To 20 JuntarInfo.Range("O" & (J + 42)).Offset(0, i) = "=(R" & J & "C" & (15 + i) & "/ R" & (J + 21) & "C" & (15 + i) & ")" Next Next
修改后的代码
只需将原公式嵌套进IFERROR函数结构中即可,修改后的代码如下:
For J = 5 To 21 For i = 1 To 20 JuntarInfo.Range("O" & (J + 42)).Offset(0, i) = "=IFERROR(R" & J & "C" & (15 + i) & "/ R" & (J + 21) & "C" & (15 + i) & ", ""0"")" Next Next
关键说明
- 核心改动:把原本的除法运算公式作为
IFERROR的第一个参数,第二个参数指定为"0"(VBA字符串中双引号需要用两个双引号转义,所以写为""0"") - 效果:当除法运算出现错误(比如除数为0、引用单元格无效等)时,目标单元格会显示
0,而不是Excel默认的错误提示值
内容的提问来源于stack exchange,提问作者Francisco Augusto Varela Aguir
相关产品推荐
相关产品推荐

