打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
按条件拆分Excel两个单元格中数字
有朋友要求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函数)。如果要将其变为通用的,则可将上述代码转化为自定义函数,并用相对量代替代码中的硬编码。两个单元格中的数字如果不是按上面提到的规律,则可能两个单元格中的数字中间部分相同,而其它部分不同;或者一个单元格中的数字结尾部分和另一个单元格中的数字的中间部分相同;等等。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
编写高效Excel VBA代码的最佳实践
Excel中记录每行修改时间函数操作步骤
EXCEL文件中一次性把里面所有数字前的空格去掉 - 李逍遥的日志 - 网易博客
Excel大写金额数字转换小写金额数字的函数代码
求平均值:Excel函数不求人(03)
Excel装逼函数2--批量提取单元格中右边的数字
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服