您现在的位置: 圆点视线 >> 教程 >> 办公软件 >> Excel >> 文章正文
[图文]按条件拆分Excel单元格中的数字           ★★★
按条件拆分Excel单元格中的数字
作者:hairan  文章来源:it168   更新时间:2009-2-5 22:00:09 
如下面的工作表图片:


    我不知道给出的数字是否都是按这样的规律,即第一个原始数据的后面几位数与第二个原始数据的前面几位数相同。如果是这个规律的话,则可以就这个具体的例子给出下面的代码来实现:

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函数)。

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

 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 文章录入:hairan    责任编辑:hairan 
 
  • 上一篇文章:

  •  
  • 下一篇文章:
  • 最新文章
    相关文章
    没有相关文章
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓  名: 评分: 1分 2分 3分 4分 5分
    评论内容: ·严禁发表危害国家安全、政治、黄色淫秽等内容评论
    ·用户需对自己在使用本网服务过程中的行为承担责任
    ·本站管理员有权保留或删除评论内容。
    ·评论内容只代表机友个人观点,与本网站立场无关。
     
    最 新 推 荐
    最 新 热 门