手机
当前位置:查字典教程网 >电脑 >Excel教程 >按条件拆分Excel表格两个单元格中的数字
按条件拆分Excel表格两个单元格中的数字
摘要:有朋友要求Excel工作表的A1单元格和B1单元格中有两个数字,这两个数字有一部分相同,现在要找出其中相同的数字并写入单元格C1,找出A1中...

有朋友要求Excel工作表的A1单元格和B1单元格中有两个数字,这两个数字有一部分相同,现在要找出其中相同的数字并写入单元格C1,找出A1中有而B1中没有的数字并写入单元格D1,找出B1中有而A1中没有的数字并写入单元格E1。

如下面的工作表图片:

我不知道给出的数字是否都是按这样的规律,即第一个原始数据的后面几位数与第二个原始数据的前面几位数相同。如果是这个规律的话,则可以就这个具体的例子给出下面的代码来实现:

Sub SeparateNumber()

Dim strFirst As String

Dim strResult As String

Dim StartNum As Integer

Dim EndNum AsString

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函数)。

如果要将其变为通用的,则可将上述代码转化为自定义函数,并用相对量代替代码中的硬编码。

两个单元格中的数字如果不是按上面提到的规律,则可能两个单元格中的数字中间部分相同,而其它部分不同;或者一个单元格中的数字结尾部分和另一个单元格中的数字的中间部分相同;等等。

有兴趣的朋友可以继续研究。

【按条件拆分Excel表格两个单元格中的数字】相关文章:

Excel2010限制单元格字符个数教程

如何在Excel单元格中画表格

Excel中right函数引用单元格及字符串的使用方法实例

Excel表格中防范录入错误的数据输入提示小技巧

复制excel中设置了公式的单元格数据的方法

excel表格打不开的解决方法汇总

如何让Excel单元格中显示图表

解决Excel表格输入数字变成日期

用有效性圈出Excel表格中指定数据

Excel怎么为单元格添加批注

精品推荐
分类导航