电脑教程
位置:首页>> 电脑教程>> office教程>> VBA拆分算术表达式

VBA拆分算术表达式

  发布时间:2022-02-26 05:03:01 

标签:excel图表制作,excel常用函数,excel数据透视表,Excel教程

将算术表达式拆分成组成该表达式的数学元素,例如将表达式2+(19-4)/3拆分成

VBA拆分算术表达式

如何使用VBA代码实现呢?

关键点:如何将表达式中超过1位的数字提取出来,例如上面示例中的数字19。

解决方法:使用一个临时变量判断是否是数字,同时利用这个变量来计算该数字的位数,然后使用该变量作为遍历条件来获取该数字。

VBA代码:

Sub SplitExpress()

‘存储表达式的每个字符

Dim var1()

‘存储表达式中各元素(符号和数字)

Dim var2()

‘表达式

Dim express As String

‘循环变量

Dim i As Long

Dim j As Long

‘计数,用来确定动态数组大小

Dim iCount As Long

‘表达式长度

Dim lLen As Long

‘临时变量,用来存储数字元素中单个数字数

Dim temp As Long

‘将相邻的数字组合成一个数字元素

Dim str  As String

‘示例表达式

‘可以换成你自已的表达式

‘或者使用输入框让用户自已输入表达式

express =”66+{[3+((5-2)*3+2)/2]+[2+(66-3)/3]}”

lLen = Len(express) + 1

‘重定义数组大小为表达式长度

‘注意将数组长度增1

‘以免没有括号时漏掉表达式最后一个数字

ReDim var1(1 To lLen)

‘将表达式拆分单个字符

For i = 1 To lLen

var1(i) = Mid(express,i, 1)

Next i

temp = 0

‘遍历表达式

For i = 1 To lLen

‘如果相邻字符是数字,则将其取出并连接成一个数字

If var1(i) Like”[0-9]” Then

temp = temp + 1

ElseIf temp > 0Then

For j = 1 To temp

str = str& var1(i – temp + j – 1)

Next j

iCount = iCount +1

ReDim Preserve var2(1To iCount)

var2(iCount) = str

temp = 0

str = “”

End If

‘如果是符号,则直接存放

Select Case var1(i)

Case”{“, “[“, “(“, “)”, “}”,”]”, “+”, “-“, “*”, “/”

iCount = iCount+ 1

ReDim Preservevar2(1 To iCount)

var2(iCount) =var1(i)

End Select

Next i

‘将组成表达式的各元素重新组合

‘验证结果是否正确

For i = LBound(var2) ToUBound(var2)

str = str &var2(i)

Next i

MsgBox “拆分的表达式为:” & str

End Sub

运行代码后的结果如下图1所示。

VBA拆分算术表达式

图1

看到了吗,地将表达式复原了!你可以将代码中的代表式换成其他算术表达式试试。

下面是代码的图片版:

VBA拆分算术表达式

0
投稿

猜你喜欢

  • excel表格中怎么使用数据画鸭子?excel表格中想制作一个鸭子的图案,该怎么制作呢?今天我们就来看看excel表格中绘制鸭子的方法,很简
  • Windows10的资讯和兴趣能不能关闭,相信最近很多朋友都被这个功能困恼了很久,目前Win10的资讯和兴趣有好几个bug,很明显是微软赶工
  • 许多用户都喜欢将一些文件存储在百度网盘中,这样只要我们可以连接网络就可以轻松的访问文件。那么当我们在外面想要直接从百度网盘中打印文件出来,要
  • 在对数据进行分类汇总后,Excel系统会自动按照设置的汇总方式对数据清单进行分级显示。但用户也可在excel2010中手动建立分级显示。当数
  • 在Win10系统中,自带了蓝牙的功能,用户可以通过系统的蓝牙功能连接其它的电子设备进行使用,但是有的用户发现蓝牙开关竟然不见了,那这个情况要
  • 有些图片没有边框,显得好丑,Word中可以很方便的给图片设置边框。如图:该图片没有边框 
  • 我们有时在wps插入图片会出现不显示的问题,对于这样的问题,要解决的方法其实有很多,操作也很简单,下面就让小编告诉你 解决wps插入图片不显
  • excel表格中的数据怎么使用多条件排序?excel表格中的数据想要排序,不只地按照一个关键词,想在年龄从大到小的基础上按工资的多到少排序,
  • 在word文档里经常遇到变换字体的操作,当怎么默认字体的使用。今天,小编就教大家如何进行默认字体的操作!word设置默认字体的步骤如下:打开
  • excel表格中输入字数太多显示不全怎么办? 具体是怎么去进行的?今天,小编就教大家在Excel中进行表格输入字数太多显示不全的方法。Exc
  • 在Word中选定一个句子的方法是按住Ctrl同时单击句中任意位置。word中选择文本的方法:选择句子:该方法能快速地选择出句子。方法是按住键
  • 所谓的URI指的是统一资源标识符,使用URI可以直接进入某一个设置的界面。那么URI标识符有哪些?Win10系统如何使用URI呢?win10
  • 为了让统计数据更加直观形象,在此将以水果销售分析图的制作为例展开介绍。本节将从最基本的图表创建操作讲起,对图表的应用知识进行全方位介绍。要想
  • 微软已经开始向Windows 7/8用户推送Windows 10的广告,如下图的窗口显示微软允许用户可以免费保留一份系统副本 一些
  • ppt和doc格式的文件是我们在办公中经常要用到的,对于它们彼此能够互相转换也不觉得惊奇,不过对于新手来说,可能还不知如何将wps演示转为d
  • 360安全卫士可以说是国内老牌的电脑管家了,到目前依旧有很多用户使用。而最近有用户反映自己在使用360安全卫士的功能大全时,输入内容搜索出现
  • 有时候在网上需要填写一些个人信息,填写的过程中我们会看到有些事下拉列表进行选择。而在WPS表格制作中,我们也可以加入下拉列表,来提高录入的速
  • wps怎么绘制厕所卷?一般厕所都会放卷纸,该怎么绘制厕纸简笔画效果呢?下面我们就来看看wps画简笔画效果厕纸的教程,需要的朋友可以参考下wp
  • 电脑屏幕卡住不动了怎么办?我们在使用电脑时,往往无缘无故就会出现一些奇怪的问题,有些用户也都开始习以为常了,例如有的用户win10电脑屏幕不
  • Excel中经常需要用到函数进行对数据的合计,合计具体该怎么用函数计算呢?下面是由小编分享的excel 合计函数的使用教程,希望对你有帮助!
手机版 电脑教程 asp之家 www.aspxhome.com