![](/img/trans.png)
[英]Excel VBA - How do I refer to a cell's visible content rather than its formula?
[英]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.