Excel精英培训网

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

[已解决]提取字符串中的数字

[复制链接]
发表于 2013-5-9 10:28 | 显示全部楼层 |阅读模式
本帖最后由 mini9450 于 2013-5-9 13:30 编辑

总装E线:75-77台下线
内饰A线:第55-67台下线
新焊装线:第1台下线
需要提取其中的数字:
提取结果格式是:75  
                            77
                            55
                            67
                              1  
问题很简单,就是提取字符串中的数字,给出例子是因为字符串的长度和数字格式不一样。如“总装E线:75-77台下线“需要提取出2个数字即75和77。
最佳答案
2013-5-9 11:06
  1. Sub test()
  2.     Dim objRegExp As Object
  3.     Dim strTemp$, a
  4.    
  5.     Set objRegExp = CreateObject("VBScript.regExp")
  6.     strTemp = "总装E线:75-77台下线"
  7.    
  8.     With objRegExp
  9.         .Global = True
  10.         .Pattern = "\d+"
  11.         If .test(strTemp) Then
  12.             For Each a In .Execute(strTemp)
  13.                 Debug.Print a.Value
  14.             Next
  15.         End If
  16.     End With
  17.     Set objRegExp = Nothing
  18. End Sub
复制代码
看立即窗口的输出。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-5-9 10:37 | 显示全部楼层
回复

使用道具 举报

发表于 2013-5-9 11:06 | 显示全部楼层    本楼为最佳答案   
  1. Sub test()
  2.     Dim objRegExp As Object
  3.     Dim strTemp$, a
  4.    
  5.     Set objRegExp = CreateObject("VBScript.regExp")
  6.     strTemp = "总装E线:75-77台下线"
  7.    
  8.     With objRegExp
  9.         .Global = True
  10.         .Pattern = "\d+"
  11.         If .test(strTemp) Then
  12.             For Each a In .Execute(strTemp)
  13.                 Debug.Print a.Value
  14.             Next
  15.         End If
  16.     End With
  17.     Set objRegExp = Nothing
  18. End Sub
复制代码
看立即窗口的输出。
回复

使用道具 举报

 楼主| 发表于 2013-5-9 13:30 | 显示全部楼层
谢谢,不愧为高手。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 11:53 , Processed in 0.309261 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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