在工作表单元格中,包含有文本和数字混合的字符串,如图1所示,如何提取字符串中的数字或者文本? 图1
可以在工作表中使用VBA自定义函数来实现。
下面的VBA代码创建的自定义函数从字符串中提取数字。 Function GetNum(rng As String) Dim lngLenAs Long Dim i AsLong, result lngLen = Len(rng) For i = 1TolngLen If IsNumeric(Mid(rng, i, 1)) Then result = result & Mid(rng, i, 1) End If Next i GetNum = result End Function
下面的VBA代码创建的自定义函数从字符串中提取文本。 Function GetText(rng As String) Dim lngLenAs Long Dim i AsLong, result lngLen = Len(rng) For i = 1TolngLen If Not(IsNumeric(Mid(rng, i, 1))) Then result = result & Mid(rng, i, 1) End If Next i GetText = result End Function
在VBE编辑器的标准模块中输入上述代码后,在工作表中像使用Excel函数一样输入公式: =GetNum(A2) 或者 =GetText(A2) 提取单元格中字符串里的数字或者文本。
两个函数都只接受一个参数,该参数指定要从中提取数字或文本的单元格。 |
|
来自: L罗乐 > 《字符提取(文本函运用)》