我有一個公式要發送到作業表中的一個單元格。公式是:
=IF($V6>0,IF($G6>$S6,($S6-$H6)*$K6 $Y6,($G6-$H6)*$K6 $Y6),"")
要發送它,我使用以下陳述句,其中變數“ir”代表插入的行,公式需要放在那里,如下所示:
Cells(ir, "O").Formula = "=IF($G" & ir & ">$S" & ir & ",($S" & ir & "-$H" & ir & ")*$K" & ir & " $Y" & ir & ",($G" & ir & "-$H" & ir & ")*$K" & ir & " $Y" & ir & ")," & """ "")"""
我認為問題在于末尾的空字串周圍的引號(“”)。如果我將它括在雙引號中,則會出現語法錯誤。如果我用三引號將它括起來,我會收到“應用程式定義或物件定義的錯誤”。有簡單的解決方案嗎?我可以對空字串使用 NIL 嗎?其他更簡單的公式運行得很好,例如這個:
Cells(ir, "N").Formula = "= $L" & ir & "- $M" & ir
任何幫助將非常感激
uj5u.com熱心網友回復:
如果您打算使用空字串 - 試試這個,它洗掉了額外的外部引號:
Cells(ir, "O").Formula = "=IF($G" & ir & ">$S" & ir & ",($S" & ir & "-$H" & ir & ")*$K" & ir & " $Y" & ir & ",($G" & ir & "-$H" & ir & ")*$K" & ir & " $Y" & ir & ")," & """ "")"
試試這個,它洗掉了額外的內部和外部引號:
Cells(ir, "O").Formula = "=IF($G" & ir & ">$S" & ir & ",($S" & ir & "-$H" & ir & ")*$K" & ir & " $Y" & ir & ",($G" & ir & "-$H" & ir & ")*$K" & ir & " $Y" & ir & ")," & "" ")"
如果您打算使用空字串 - 試試這個,它洗掉了額外的外部引號:
Cells(ir, "O").Formula = "=IF($G" & ir & ">$S" & ir & ",($S" & ir & "-$H" & ir & ")*$K" & ir & " $Y" & ir & ",($G" & ir & "-$H" & ir & ")*$K" & ir & " $Y" & ir & ")," & """"")"
試試這個,它洗掉了額外的內部和外部引號:
Cells(ir, "O").Formula = "=IF($G" & ir & ">$S" & ir & ",($S" & ir & "-$H" & ir & ")*$K" & ir & " $Y" & ir & ",($G" & ir & "-$H" & ir & ")*$K" & ir & " $Y" & ir & ")," & """)"
或者,也許您一開始就正確,只需要洗掉空間以使其成為空刺:
Cells(ir, "O").Formula = "=IF($G" & ir & ">$S" & ir & ",($S" & ir & "-$H" & ir & ")*$K" & ir & " $Y" & ir & ",($G" & ir & "-$H" & ir & ")*$K" & ir & " $Y" & ir & ")," & """"")"""
uj5u.com熱心網友回復:
konalion 已經解釋了如何填充雙引號。此外,如果您的公式是恒定的,那么您也可以試試這個
Private Const MyFormula As String = _
"=IF($V|>0,IF($G|>$S|,($S|-$H|)*$K| $Y|,($G|-$H|)*$K| $Y|),"""") "
然后使用
Cells(ir, "O").Formula = Replace(MyFormula, "|", ir)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/384770.html
上一篇:多個If/Then呼叫選項
