Excel数、字分离二(自定义函数模块)
在前文(excel数、字分离)中,有提过用Excel自带的提取字串函数实现数、字分离。本文中将再延伸介绍利用自定义函数(VBA)实现字串的数、字分离……(实现效果如下)
| 021-63061154传真:021-63645266 | —> | 021-63061154021-63645266 |
| 86-21-52985668传真:86-21-52985178 | —> | 86-21-5298566886-21-52985178 |
| 54894268-207 | —> | 54894268-207 |
| 021-50706098E-Mail:tina_ju@wetco.tw | —> | 021-50706098- |
| 86-21-31267302E-Mail:zhulinjeffrey@gmail.comwww.leasingchina.net | —> | 86-21-31267302- |
| 021-61532665电子邮件:sales@maruking.com | —> | 021-61532665 |
| 13817321210电子邮件:july9-rock@hotmail.com | —> | 138173212109- |
| 021-62362094邮箱:adsshanghai01@gmail.com | —> | 021-6236209401 |
具体步骤:
- 自定义函数模块-在当前工作簿按ALT+F11进入Visual Basic代码编辑器。
- 选择【插入】-【模块】
- 在代码复制以下代码
Public Function getnum(n As String) As String
Dim b As String
Dim C As Long
b = “”
C = 0
For y = 1 To Len(n)
If Asc(Mid(n, y, 1)) = 45 Or Asc(Mid(n, y, 1)) >= 48 And Asc(Mid(n, y, 1)) <= 57 Then
b = b & Mid(n, y, 1)
End If
Next
getnum = b
End Function
保存工程,这样getnum()函数就可以正常使用了。

关于该问题的延伸:本文只介绍数字、与文本的分离,对提取数值没有任何的后期处理。如本文提取就是电话号码,格式很不规范。据说利用正则表达式可以处理的更好,可惜不会。如有兴趣可以到这里看看。
Recent Comments