我有两个易失性公式,它在Excel中硬编码时工作正常..但此公式将是动态的,因此我将它插入到VBA中,稍后将循环。预期:语句错误结束 - 编码易失性公式
Worksheets("Interest Calculator").Range("E5").Formula = "=IF($C5>Inputs!E8-1,"",IF($C5<=Portfolio_Duration,(SUM($E$4:E4)+$G4)/Portfolio_Duration,(SUM(INDIRECT("E"&$C5-Portfolio_Duration+4):INDIRECT("E"&$C5+3))+$G4)/Portfolio_Duration))"
我得到一个编译错误:预期:语句的结束和 “E” 在INDIRECT( “E” & $ C5 + 3))+ $ G4)/ Portfolio_Duration))”突出显示
。我怎样才能解决这个代码吗?谢谢!
如果有帮助,错误持续时间= 55和组合久期= 36
将双引号加倍使得“”(两个双引号)变成“”“”(四个双引号)并且“E”变成“”E“” – sktneer
当您在公式在VBA中,你还必须用''“'来包围它。所以改变'“= IF($ C5> Inputs!E8-1,”“,''''= IF($ C5> Inputs!E8-1,”“”“,'看看是否有效。 E“作为sktneer指出:) – dwirony
@dwirony - 仅供参考 - 这不是''''必须被''''包围' - 它就是每个''''''''''''''''''' ''需要变成''“”“'(可能会出现**,只是在每一端放置一个额外的'''),但是'IF(E1 =”“”“,(例如)成为'IF(E1 =“”“”“”“”“,',不只是'IF(E1 =”“”“”“,',。 – YowE3K