Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 845|回复: 3

[已解决]求助:EVALUATE使用出现错误

[复制链接]
发表于 2021-12-16 00:18 | 显示全部楼层 |阅读模式
本帖最后由 yh0825 于 2021-12-17 02:40 编辑

附件中的D10、E10直接用公式可以实现正确结果,现在想用代码实现,但是用以下代码,却出错,对这个EVALUATE的用法还是摸不着头脑。

Cells(10, 4) = EVALUATE("=SUM(INDIRECT(""原始执行!""&VLOOKUP(D8&D9,字典!Q:W,5,0)&2" & ":" & "VLOOKUP(D8&D9,字典!Q:W,5,0)&40000))/2")
最佳答案
2021-12-16 15:17
改成公式吧,INDIRECT间接引用的时候,EVALUATE方法应该默认为字符串了:
Cells(10, 4).Formula = "=SUM(INDIRECT(""原始执行!""&VLOOKUP(D8&D9,字典!Q:W,5,0)&2&"":""&VLOOKUP(D8&D9,字典!Q:W,5,0)&40000))/2"
这个也能起到结果
说明一点:
双引号里面的内容有双引号,需要增加一对。比如原表格里面是=":" & A1,那么要调用的时候需要改成:"="":"" & A1",而不是"="& ":" &" & A1"
=""

求助1.rar

86.38 KB, 下载次数: 9

求助

发表于 2021-12-16 15:17 | 显示全部楼层    本楼为最佳答案   
改成公式吧,INDIRECT间接引用的时候,EVALUATE方法应该默认为字符串了:
Cells(10, 4).Formula = "=SUM(INDIRECT(""原始执行!""&VLOOKUP(D8&D9,字典!Q:W,5,0)&2&"":""&VLOOKUP(D8&D9,字典!Q:W,5,0)&40000))/2"
这个也能起到结果
说明一点:
双引号里面的内容有双引号,需要增加一对。比如原表格里面是=":" & A1,那么要调用的时候需要改成:"="":"" & A1",而不是"="& ":" &" & A1"
=""
回复

使用道具 举报

发表于 2021-12-16 15:55 | 显示全部楼层
本帖最后由 大灰狼1976 于 2021-12-16 22:02 编辑

evaluate可以正确识别indirect,等下回家后我看看。
确认结果,evaluate可以正确识别indirect,但是仅限当前工作表内,跨工作表引用时错误。

回复

使用道具 举报

 楼主| 发表于 2021-12-17 02:21 | 显示全部楼层
本帖最后由 yh0825 于 2021-12-17 02:56 编辑
大灰狼1976 发表于 2021-12-16 15:55
evaluate可以正确识别indirect,等下回家后我看看。
确认结果,evaluate可以正确识别indirect,但是仅限当 ...

感谢版主出手相助,但本身我的表格里是有很多公式,因为公式多,所以速度很慢,再加上数据透析表,点选一个数据后要计算两遍,严重影响速度,所以就不想用公式,而是用代码实现。还请版主继续帮忙,看如何更好地解决这个问题。

     目前我把代码分解了一下:
     Cells(13, 3) = EVALUATE("=" & Sum & "(indirect(" & """原始执行!""" & "&VLOOKUP($D$8&D$9,字典!$Q:$W,5,0)&2))")     '这个可以得到正解结果0.25
      Cells(13, 3) = EVALUATE("=" & Sum & "(indirect(" & """原始执行!""" & "&VLOOKUP($D$8&D$9,字典!$Q:$W,5,0)&2&"":""&VLOOKUP($D$8&D$9,字典!$Q:$W,5,0)&4000))")    '但这个却得到了一个空值,虽不出错,但结果还是错的.

     版主能帮忙看看吗?谢谢啦!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-7 09:07 , Processed in 0.245647 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表