湖南大学生网

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

2010-12-23 11:25| 发布者: 伽奇·胡| 查看: 43| 评论: 0

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

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

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

最新评论

验证问答 换一个 验证码 换一个

大学生要找工作,就上湖南大学生人才网..
长沙理工大学自考在线报名咨询!

关于我们|商务合作|广告投放|手机访问|无图访问|联系我们|湖南大学生网 ( 湘ICP备10000310号 )


拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!

本站部份内容来源网络和网友发布,供大家交流学习参考之用, 版权归版权原作者所有,如无意中侵犯了您的利益请联系我们尽快处理。

Powered by 5+7WorkRoom System by Discuz!X2

© 2008-2011 XunNets.com

回顶部