Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1644|回复: 4

[已解决]请各位老师帮忙解决一个VBA问题

[复制链接]
发表于 2012-2-27 21:07 | 显示全部楼层 |阅读模式
请各位老师帮忙解决一个VBA提取数字的问题,具体看附件
最佳答案
2012-2-27 21:39
本帖最后由 happym8888 于 2012-2-27 21:41 编辑


  1. Public Function FN(x As String)
  2. For i = 1 To Len(x)
  3. If Mid(x, i, 1) Like "[0-9]" Then FN = FN & Mid$(x, i, 1)
  4. Next
  5. End Function

  6. Public Function FNA(x As String)
  7. For i = 1 To Len(x)
  8. If Mid(x, i, 1) Like "[A-Za-z]" Then
  9. For j = i + 1 To Len(x)
  10.     If Mid(x, j, 1) Like "[0-9]" Then
  11.     FNA = FNA & Mid$(x, j, 1)
  12.     Else
  13.     Exit Function
  14.     End If
  15. Next j
  16. End If
  17. Next i
  18. End Function


复制代码

Book1(VBA提取数字).rar

3.63 KB, 下载次数: 16

发表于 2012-2-27 21:37 | 显示全部楼层
VBA提取数字???汗,我听都没听过的说呢。。真是爱莫能助哎
回复

使用道具 举报

发表于 2012-2-27 21:38 | 显示全部楼层
e列是保留所有数字?
f列用语言说,规律是啥?
回复

使用道具 举报

发表于 2012-2-27 21:39 | 显示全部楼层    本楼为最佳答案   
本帖最后由 happym8888 于 2012-2-27 21:41 编辑


  1. Public Function FN(x As String)
  2. For i = 1 To Len(x)
  3. If Mid(x, i, 1) Like "[0-9]" Then FN = FN & Mid$(x, i, 1)
  4. Next
  5. End Function

  6. Public Function FNA(x As String)
  7. For i = 1 To Len(x)
  8. If Mid(x, i, 1) Like "[A-Za-z]" Then
  9. For j = i + 1 To Len(x)
  10.     If Mid(x, j, 1) Like "[0-9]" Then
  11.     FNA = FNA & Mid$(x, j, 1)
  12.     Else
  13.     Exit Function
  14.     End If
  15. Next j
  16. End If
  17. Next i
  18. End Function


复制代码

Book1(VBA提取数字).rar

9.33 KB, 下载次数: 8

评分

参与人数 2 +15 收起 理由
cbg2008 + 3 很给力!
wbzxz + 12 很巧妙,很棒的函数

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-3-1 20:30 | 显示全部楼层
happym8888 发表于 2012-2-27 21:39

谢谢帮忙,让我进一步了解了VBA可以更好地解决EXCEL的操作要求
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-17 19:03 , Processed in 0.271134 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表