簡體   English   中英

在Excel和VBA中,如何將單元格的值設置為公式結果而不是公式

[英]In Excel and VBA, how to set value of cell to the formulas result rather than the formula

我從一張紙上獲取值,並使用Excel中的宏將它們放在另一張紙上。 我目前有這個工作正常:

sheet.range("B2:B35").Value = "=IF(SUMPRODUCT(--(Raw!$B$11:$B$322=$A2),--(Raw!$D$11:$D$322=All!$B$2),Raw!$H$11:$H$322)<>0,SUMPRODUCT(--(Raw!$B$11:$B$322=$A2),--(Raw!$D$11:$D$322=All!$B$2),Raw!$H$11:$H$322),""-"")"

顯然,它將整個公式作為單元格的值。 我想要的只是將公式的結果放入單元格中。 我已經嘗試在“IF ...”部分周圍添加Evaluate(),但是IF沒有正確評估(我在每個單元格中都以“ - ”結尾)。 這是可能做的還是我必須有單獨的代碼循環並將值更改為單元格的值?

采用:

sheet.range("B2:B35").Formula = "Your formula here"

如果這不起作用,您可能需要更改格式(首先執行此操作):

sheet.range("B2:B35").NumberFormat = "General"

編輯:

在OP的代碼之后,解決方案結果是添加了以下行:

sheet.range("B2:B35").value = sheet.range("B2:B35").value

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM