首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Excel和VBA中如何将单元格的值设置为公式结果而不是公式

在Excel和VBA中如何将单元格的值设置为公式结果而不是公式
EN

Stack Overflow用户
提问于 2012-10-05 07:54:02
回答 1查看 30.2K关注 0票数 1

我从一个工作表中获取值,然后使用Excel中的宏将它们放入另一个工作表中。我目前有这个,它工作得很好:

代码语言:javascript
复制
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不能正确计算(我只是在每个单元格中以"-“结尾)。这是可能的吗?或者我必须有单独的代码来遍历并将值更改为单元格的值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-05 07:58:01

使用:

代码语言:javascript
复制
sheet.range("B2:B35").Formula = "Your formula here"

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

代码语言:javascript
复制
sheet.range("B2:B35").NumberFormat = "General"

编辑:

一个解决方案是在OP的代码之后添加以下行:

代码语言:javascript
复制
sheet.range("B2:B35").value = sheet.range("B2:B35").value
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12737642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档