首页 > Excel > Excel数、字分离二(自定义函数模块)

Excel数、字分离二(自定义函数模块)

2010年6月10日 Surda 发表评论 阅读评论

在前文(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

具体步骤:

  1. 自定义函数模块-在当前工作簿按ALT+F11进入Visual Basic代码编辑器。
  2. 选择【插入】-【模块】
  3. 在代码复制以下代码

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()函数就可以正常使用了。

getnum.gif

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

ShareOn:
  •  
  1. 本文目前尚无任何评论.
  1. 2010年11月16日16:00 | #1