當Excel爲我的宏執行某些VBA代碼時,我遇到了一些正確結果的問題。顯示IF公式而不是結果
不是將公式放在所需的單元格中,而是給出了該公式的結果,在這種情況下爲TRUE或FALSE。
此代碼工作正常,它把公式中的細胞,結果顯示:
Range("AL12").Select
ActiveCell.Formula = "=SUM" & ActiveCell.Formula
這個代碼不工作,我得到一個錯誤:
Range("AL12").Select
ActiveCell.Formula = "=IF" & ActiveCell.Formula
這代碼工作,但它沒有給出公式,只有結果:
Range("AL12").Select
ActiveCell.Formula = "" = "IF" & ActiveCell.Formula
或
Range("AL12").Select
ActiveCell.Value= "" = "IF" & ActiveCell.Value
如何獲取宏以將公式放入單元格中,以便公式可以計算結果應爲0或1而非TRUE或FALSE。完全像它在第一行代碼中那樣?
從未知部分構建公式的可能性不大。對於你的第一個例子,你的ActiveCell似乎含有類似「(A3:A12)」的東西。因此你的第一個例子工作。但是你的第二個例子在ActiveCell中必須有相當不同的值,因爲你可能不會期望'= IF(A3:12)'給出任何結果。因此,請爲您的每個示例披露「ActiveCell.Formula」的格式。 – Variatus
'ActiveCell.FormulaR1C1 = _ 「= CONCATENATE(」「= ALS('D:\ Google Drive \ Pat Bud \ Begrotingen \'Begroting」「,RC3,」「」「,RC2,」「 - 」「, RC7,「」。xlsx] Totaal'!$ L $ 66 = 0「」,「」;「」,1,「」「,」「,0,」「)」「)」' – Vigilante
所有單元格都有'通用'格式'。我正在做的是減少這種連接:'ActiveCell.FormulaR1C1 = _ 「= CONCATENATE(」「= IF('D:\ Google Drive \ Pat Bud \ Begrotingen \ [Begroting」「,RC3,」「。」「」 ,RC2,「」 - 「」,RC7,「」。xlsx] Totaal'!$ L $ 66 = 0「」,「」;「」,1,「」;「」,0,「」)「」)「 (例如):'= IF('D:\ Google Drive \ Pat Bud \ Begrotingen \ [Begroting 207.17-1.xlsx] Totaal'!$ L $ 66 ='使用'Copy.Value' 0; 1; 0)'這正是我想要的,但它需要一個手動的'ENTER'才能開始工作。 – Vigilante