我有兩個易失性公式,它在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