VBA自定义函数提取文本中的数字

Function ExtractNumbers(str As String) As StringDim i As IntegerDim result As StringFor i = 1 To Len(str)If IsNumeric(Mid(str, i, 1)) Thenresult = result & Mid(str, i, 1)If Not IsNumeric(Mid(str, i1, 1)) And i < Len(str) Thenresult = result & ","End IfEnd IfNext iExtractNumbers = resultEnd Function
这个函数名为 ExtractNumbers,在每次提取到数字时判断接下来的一个字符是否是数字 , 如果不是则在结果字符串后面添加一个逗号 。最后将 result 返回给函数调用者 。
以下是一个使用该函数的示例:
【VBA自定义函数提取文本中的数字】=ExtractNumbers("Hello123World456")'此处括号内可以直接引用含有数字的文本单元格
这个公式将会返回字符串 "123,456" 。
需要注意的是 , 此函数仍然不能处理负号、小数点等特殊字符 。如果需要处理这些情况,则需要修改函数代码或编写其他自定义函数 。

VBA自定义函数提取文本中的数字

相关经验推荐