卡饭网 > excel > 正文

Excel表格中vba宏按条件拆分两个单元格中的数字

来源:本站整理 作者:梦在深巷 时间:2012-12-15 19:44:06

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

如下面的工作表图片:

Excel表格中vba宏按条件拆分两个单元格中的数字

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

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

相关推荐