背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读内容

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

[日期:2018-07-12] 来源:  作者: [字体: ]

有朋友要求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函数。
讨论:

  • 其实代码可以进一步简化,因为VBA还有一个数组函数(Split函数)。
  • 如果要将其变为通用的,则可将上述代码转化为自定义函数,并用相对量代替代码中的硬编码。
  • 两个单元格中的数字如果不是按上面提到的规律,则可能两个单元格中的数字中间部分相同,而其它部分不同;或者一个单元格中的数字结尾部分和另一个单元格中的数字的中间部分相同;等等。

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

阅读:
录入:windcity

推荐 】 【 打印
相关新闻      
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:
内容查询