Excel精英培训网

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

[分享] 用Eval()函数克服evaluate()函数的局限求文本型数学表达式计算结果

[复制链接]
发表于 2011-12-7 11:34 | 显示全部楼层 |阅读模式
在Excel中可以用evaluate()函数求文本型数学表达式的计算结果,不过Evaluate有个缺陷,使用它时字符数不能超过一定的量(可能是255个),这个时候可以采用Eval函数来实现EValuate的功能,操作方法如下:
1. 新建一EXCEL工作簿BOOK1.xls,打开;
2. 按Alt+F11打开VB编辑器,插入一模块;
3. 在模块中输入一下代码、自定义一函数DEva():
Function DEva(Cell)
With CreateObject("MSScriptControl.ScriptControl")
.Language = "vbscript"
DEva = .Eval(Cell)
End With
End Function
4. 关闭后可以在单元格里直接调用DEva()来计算文本型数学表达式的计算结果。

评分

参与人数 2 +11 收起 理由
liyh67 + 6 很给力!
liuts + 5 赞一个!

查看全部评分

发表于 2011-12-8 09:30 | 显示全部楼层
回复

使用道具 举报

发表于 2012-1-16 22:08 | 显示全部楼层
回复

使用道具 举报

发表于 2012-1-17 20:11 | 显示全部楼层
宏表函数evaluate需要定义名称才能使用,而这个在单元格中直接使用
回复

使用道具 举报

发表于 2013-1-12 11:19 | 显示全部楼层
您好楼主,我照您的方法操作后可以实现计算表达式,但是如何在表达式里加入文本呢?
回复

使用道具 举报

匿名  发表于 2014-11-11 11:57
您的这个方法保存不了
保存就没用了
请教如何解决  谢谢
回复

使用道具

发表于 2015-3-18 16:55 | 显示全部楼层
还是用不了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-1 08:20 , Processed in 0.264753 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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