我遇到Range.Formula
問題。該代碼段是低於(假設Range對象已創建與is not null)Range.Formula返回一個使用單元格引用的字符串,爲什麼?
string formula;
formula = Range.Formula;//it returns whatever is written in the formula, even the cell reference
比方說,我有這樣一個公式,=MyCalc(41, A1)
,使用相對單元格引用。在單元格A1中,有一個值爲100.
因此,字符串變量formula
的值總是=MyCalc(41, A1)
而不是=MyCalc(41, 100)
,這是我想要的結果。
我不知道是否有辦法讓Range.Formula避免返回單元格引用。有任何想法嗎?謝謝
難道這不歸結爲神奇的想法 - 你希望它做一些*評估公式,並替換引用的單元格值,但不評估完整的公式(例如調用MyCalc並只給你結果)?你爲什麼期望它做到這一點? – 2012-01-27 07:44:31
我無法將一個帶有單元格引用的公式傳遞到Web服務上,因爲它會產生錯誤的結果。所以我需要做一些預處理,並重構其中會有值的公式。 – woodykiddy 2012-01-27 08:30:04
您正在申請一個錯誤 - 公式必須是輸入的公式,其他任何結果都不正確。您可以嘗試使用Evaluate從公式中獲取結果(如果上游依賴鏈中存在未計算的單元格,則可能會失敗),或者來自單元格的當前值,但單元格中的公式是單元格中的公式。 – 2012-01-27 08:41:45