瀏覽量:61次
Excel工作表的A1單元格和B1單元格中有兩個數字,這兩個數字有一部分相同,現(xiàn)在要找出其中相同的數字并寫入單元格C1,找出A1中有而B1中沒有的數字并寫入單元格D1,找出B1中有而A1中沒有的數字并寫入單元格E1。
如下面的工作表圖片:
我不知道給出的數字是否都是按這樣的規(guī)律,即第一個原始數據的后面幾位數與第二個原始數據的前面幾位數相同。如果是這個規(guī)律的話,則可以就這個具體的例子給出下面的代碼來實現(xiàn):
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函數)。
如果要將其變?yōu)橥ㄓ玫模瑒t可將上述代碼轉化為自定義函數,并用相對量代替代碼中的硬編碼。
兩個單元格中的數字如果不是按上面提到的規(guī)律,則可能兩個單元格中的數字中間部分相同,而其它部分不同;或者一個單元格中的數字結尾部分和另一個單元格中的數字的中間部分相同;等等。
[聲明]本網轉載網絡媒體稿件是為了傳播更多的信息,此類稿件不代表本網觀點,本網不承擔此類稿件侵權行為的連帶責任。故此,如果您發(fā)現(xiàn)本網站的內容侵犯了您的版權,請您的相關內容發(fā)至此郵箱【779898168@qq.com】,我們在確認后,會立即刪除,保證您的版權。