我不知道在公式中处理双引号的语法。
这是我的代码:
ActiveCell.Formula = "=IF($W9="A",1,IF($W9="B",2, IF($W9="C",3,0))))"
非常感谢您的帮助。
答案 0 :(得分:2)
您需要将公式更改为
$response = json_decode($response,true);
json_decode($response,true);
因此,首先,您需要双引号,并且在您的情况下,还需要计算“(”和“)”的数量
答案 1 :(得分:0)
您需要双引号使它们正确显示在公式中
所以:ActiveCell.Formula = "=IF($W9=""A"",1,IF($W9=""B"",2, IF($W9=""C"",3,0))))"
应该在ActiveCell中为您提供以下公式:
=IF($W9="A",1,IF($W9="B",2, IF($W9="C",3,0))))
答案 2 :(得分:0)
我通常要做的是在vba中使用chr函数。您为该函数指定了所需字符的ASCII码,在这种情况下为34,vba会为您填充该字符。
ActiveCell.Formula = "=IF($W9=" & chr(34) & "A" & chr(34) & ",1,IF($W9=" & chr(34) & "B" & chr(34) & ",2, IF($W9=" & chr(34) & "C" & chr(34) & ", 3,0)))"
Cybernetic.nomad的答案很好用,但是根据我的经验(主要是在Access中),即使实际上不存在可读性,超显式也会为应用程序指明重点。
我认为最好的解决方案是在vba中创建if语句(而不是使用excel函数)并将值返回到活动单元格。那么在这种情况下,双引号根本就不是问题。