Excel表格中如何使用vba宏按条件拆分两个单元格中的数字
作者:king发布时间:2023-08-17分类:办公软件浏览:41
导读: Excel工作表的A1单元格[单元格是表格中行与列的交叉部分,它是组成表格的最小单位,可拆分或者合并。]和B1单元格中有[中有,佛教专有名词,指介于今世死有与来世生有之间的...
Excel工作表的A1单元格[单元格是表格中行与列的交叉部分,它是组成表格的最小单位,可拆分或者合并。]和B1单元格中有[中有,佛教专有名词,指介于今世死有与来世生有之间的五蕴身。]两个[这是陈明真专辑《两个》。]数字[印度-阿拉伯数字系统的十个数字,按值排列。],这两个数字有一部分[部分是一个汉语词汇,读音为bù fen,一般指整体中的局部;整体里的一些个体;部分还有部位;所处的位置;裁决;处理等意思。]相同[相同:两种事物对比其中一方没有任何变化。],现在要找出其中相同的数字并写入单元格C1,找出A1中有而B1中没有的数字并写入单元格D1,找出B1中有而A1中没有的数字并写入单元格E1。 如下面的工作表图片: 我不知道给出的数字是否都是按这样的规律[规律(1)自然界和社会诸现象之间必然、本质、稳定和反复出现的关系:【law;regular pattern】(2)有节奏的;不是杂乱的 :【rhythmical】1.规章律令。],即第一个原始数据[原始数据:通常认为数据与信息的区别在于:信息是经过加工处理之后的数据,而数据则是未经加工的数据。]的后面几位数与第二个原始数据的前面几位数相同。如果是这个规律的话,则可以就这个具体的例子给出下面的代码[代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。]来实现: Sub SeparateNumber() Dim strFirst As String Dim strResult As String Dim StartNum As Integer Dim EndNum As String Dim i As Integer, j As Integer strFirst = Left(Range(”B1″), 1) StartNum = InStr(1, Range(”A1″), strFirst) j = 1 For i = StartNum To Len(Range(”A1″)) EndNum = Mid(Range(”A1″), i, 1) If EndNum = Left(Range(”B1″), j) Then j = j + 1 End If Next i If j > 1 Then strResult = Mid(Range(”A1″), StartNum, i - 1) End If ‘单元格C1中的数据 Range(”C1″).Value = strResult ‘单元格D1中的数据 Range(”D1″).Value = Left(Range(”A1″), StartNum - 1) ‘单元格E1中的数据 Range(”E1″).Value = Right(Range(”B1″), Len(Range(”B1″)) - j) End Sub 代码很简单,只是运用了几个VBA函数。 讨论: 其实代码可以进一步简化,因为VBA还有一个数组函数(Split函数)。 如果要将其变为通用的,则可将上述代码转化为自定义函数,并用相对量代替代码中的硬编码。 两个单元格中的数字如果不是按上面提到的规律,则可能两个单元格中的数字中间部分相同,而其它部分不同;或者一个单元格中的数字结尾部分和另一个单元格中的数字的中间部分相同;等等。86%的科技爱好者也看的内容:LCD投影机有什么特点_LCD投影机特点介绍Win8如何更改用户账户名称iPhone13Pro怎么看内存_iPhone13Pro查看内存方法华硕 DRW-24D3ST DVD刻录机二手蓝宝石RX 480 8G D5 超白金 OC多少钱?笔记本低音炮音箱怎么选购_笔记本低音炮音箱选购方法什么是传真机的打印速度_传真机的打印速度介绍excel表格行列如何转换
- 上一篇:Word2013怎么合并多个文档在一篇文档
- 下一篇:word怎么插入ppt演示文稿