我从一个工作表中获取值,然后使用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不能正确计算(我只是在每个单元格中以"-“结尾)。这是可能的吗?或者我必须有单独的代码来遍历并将值更改为单元格的值?
发布于 2012-10-05 07:58:01
使用:
sheet.range("B2:B35").Formula = "Your formula here"如果这不起作用,您可能需要更改格式(首先执行此操作):
sheet.range("B2:B35").NumberFormat = "General"编辑:
一个解决方案是在OP的代码之后添加以下行:
sheet.range("B2:B35").value = sheet.range("B2:B35").valuehttps://stackoverflow.com/questions/12737642
复制相似问题