VBA分裂算术表达式
将算术表达式拆分为组成表达式的数学元素,例如,将表达式2 (19-4)/3拆分为。
如何用VBA码实现?
要点:如何提取表达式中的多个数字,比如上例中的数字19。
解决方法:用一个临时变量来判断是否是数字,用这个变量来计算数字的个数,然后用这个变量作为遍历条件来获取数字。
VBA代码:
Sub SplitExpress()
存储表达式的每个字符。
Dim var1()
将每个元素(符号和数字)存储在表达式中。
Dim var2()
“表达式”
模糊表示为字符串
“循环变量”
模糊如龙
暗淡的j一样长
计数来确定动态数组的大小。
模糊的我计算一样长
表达式长度
一样长
临时变量,用于存储数字元素中的字数。
暗淡的温度一样长
将相邻的数字组合成一个数字元素。
将字符串变暗为字符串
'示例表达式'
可以用你自己的表情代替。
或者使用输入框让用户自己输入表达式。
express=" 66 {[3((5-2)* 3 2)/2][2(66-3)/3]} "
lLen=Len(express) 1
将数组大小重新定义为表达式长度。
注意将数组长度增加1。
以免漏掉最后一个没有括号的数字。
雷迪姆变量1(1至伦)
将表达式拆分为单个字符。
对于i=1到lLen
var1(i)=Mid(express,I,1)
接下来我
温度=0
“遍历表达式”
对于i=1到lLen
如果相邻的字符是数字,把它们拿出来连接成一个数字。
如果变量1(i)像“[0-9]”那么
温度=温度1
其他温度0时
对于j=1至温度
str=str var1(Itemp j1)
下一个j
iCount=iCount 1
ReDim保留var2(1到iCount)
var2(iCount)=str
温度=0
str=" "
如果…就会结束
如果是符号,直接存储。
选择案例变量1(i)
大小写“{”、“[”、“(”、“”、“}”、“]”、“”、“-”、“*”、“/”
iCount=iCount 1
ReDim保留2(1至I帐户)
var2(iCount)=var1(i)
结束选择
接下来我
重组组成表达式的元素。
验证结果是否正确?
对于I=LBound(var2)to bound(var2)
str=str var2(i)
接下来我
MsgBox“拆分表达式为:”字符串。
末端接头
运行代码后的结果如下图1所示。
图1
看到了吧,表情已经恢复了!您可以尝试用其他算术表达式替换代码中的代表性表达式。
以下是代码的图片版本:
版权声明:VBA分裂算术表达式是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。