Kur*_*urt 1 excel vba formula evaluate
我从一张工作表中获取值,然后使用 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),""-"")"
Run Code Online (Sandbox Code Playgroud)
显然,它把整个公式作为单元格的值。我想要的只是将公式的结果放入单元格中。我尝试在“IF ...”部分添加 Evaluate() ,但 IF 无法正确评估(我只是在每个单元格中得到“-”)。这是否可以做到,或者我是否必须有单独的代码来循环并将值更改为单元格的值?
使用:
sheet.range("B2:B35").Formula = "Your formula here"
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,您可能必须更改格式(首先执行此操作):
sheet.range("B2:B35").NumberFormat = "General"
Run Code Online (Sandbox Code Playgroud)
编辑:
解决方案是在OP代码后添加以下行:
sheet.range("B2:B35").value = sheet.range("B2:B35").value
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30941 次 |
| 最近记录: |