excel vba计算数学四则运算的字符串问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel vba计算数学四则运算的字符串问题相关的知识,希望对你有一定的参考价值。
写一个vba过程,inputbox弹出窗口输入表达式,比如:"(44 8)*5-2/6",再用messagebox显示上述结果
Dim returnValueDo
returnValue = InputBox(Prompt:="请输入表达式,Exit退出!", Title:="运算")
If IsNumeric(Evaluate(returnValue)) Then
MsgBox returnValue & " = " & Evaluate(returnValue), _
vbOKOnly Or vbInformation, _
"运算结果"
Else
MsgBox "输入的运算表达式错误,请重新输入,退出请输入“Exit”", _
vbOKOnly Or vbCritical, _
"数据错误"
End If
Loop While Not UCase(returnValue) = "EXIT" 参考技术A Sub 运算()
Dim suanshi As String
suanshi = InputBox("请输入算式")
suanshi = Evaluate(suanshi)
MsgBox suanshi
End Sub
以上代码就可以实现四则远算计算结果。 参考技术B Sub aa()
MsgBox Evaluate(InputBox("请输入表达式:"))
End Sub本回答被提问者采纳 参考技术C Sub test()
i = Application.InputBox("请输入表达式", Type:=2)
j = Evaluate(i)
MsgBox j
End Sub
Excel数据量太大,用VBA运算依然会耗时太久,运行很慢,该怎么办?
Excel中数据量有一百万+条需要计算处理,自己学习VBA后编写的公式计算,但是计算公式也非常多,可能自己学习的不精通导致编写的公式太复杂了,导致每次运行VBA程序后Excel白屏,但是从任务管理器中查看电脑并没有卡死崩溃,不过耗时几个小时后依然没有运算完成。
所以想请教,数据量这么大的Excel表格用VBA运算是否还合适呢?有没有其他的工具呢?
百度查看说用数据库处理超大量数据更合适一些,那么用Access或者SQL数据库能否完成复杂公式运算的操作呢?
这样让更多的操作在内存中进行,而不是在硬盘上进行。这中间的差异是天壤之别。我原来写的一个提取内容的sub,提取一个填写一个,总用时2分40秒。
然后我把要提取的东西全都赋值给数组,完事以后一次填写一行,或者完事后一下填写完,
结果只用了7秒。 参考技术A 把数据一次性或者分批放到数组进行运算,速度快很多。不要边读取单元格内容(数据)边进行运算,这样会很慢的。本回答被提问者采纳 参考技术B 如果擅长c#的话,可以使用多线程技术尝试一下 参考技术C 有一百万+数据确实比较多了,不过代码也可能优化,不过要几个小时也太夸张了!如果不复杂可以发来看看,如果太复杂,我也不想看了!哈哈追问
非常感谢,代码就不发了,确实非常非常复杂,因为运算的内容太多了!我自己看着都头疼。我在想,除了Excel是否可以用其它工具来计算处理呢,比如数据库?对数据库不了解所以也不懂数据库的功能如何。总之还是非常感谢你!
以上是关于excel vba计算数学四则运算的字符串问题的主要内容,如果未能解决你的问题,请参考以下文章
EXCEL VBA计算带汉字的字符串的MD5值(VBA转UTF-8保存)