Excel VBA: 提取文本中的数字

在处理Excel表格时,经常会碰到文字中掺杂数字而且需要对这些数字进行处理的情况。写一个简单的VBA函数,即可轻松提取文本中的数字。

先看效果:
提取数字效果示例

再上代码:

Function GetNum&(txt As String)
''' 获取单元格中出现的第一串数字
    Dim i&, a&, b&
    Dim str$
    
    If Len(txt) = 0 Then
        GetNum = 0
        Exit Function
    End If
    
    str = Replace(txt, ",", "")
    
    a = 0
    b = 0
    
    For i = 1 To Len(str)
        If IsNumeric(Mid(str, i, 1)) Then
            If a = 0 Then a = i
        Else
            If a > 0 Then
                b = i - 1
                Exit For
            End If
        End If
    Next
    
    If a > 0 And b = 0 Then b = Len(str)
    
    GetNum = Int(Mid(str, a, b - a + 1))
    
End Function

以上代码实现了对整数的提取,带有逗号的千分位数字也可以提取。如需提取负数、小数或提取多个数字,可以在代码技术上扩充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值