有朋友问,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 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函数。