如何用excel vba 将单元格中的数字提取出来?单元格是文本和数字组成的,且一个单元格只有一组

如何用excel vba 将单元格中的数字提取出来?单元格是文本和数字组成的,且一个单元格只有一组数值数

举例说明一下

A1 å•å…ƒæ ¼æ˜¯ ABA185

A2  å•å…ƒæ ¼æ˜¯ AS21

还是

A1:ABA185ABA

A2:AS21A

请说明清楚是文本+数字 è¿˜æ˜¯æ–‡æœ¬+数字+文本

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-01-05

这个肯定用正则了。点击图片看动画效果。

Sub text()
   Dim reg As Object, i%, arr 
   Set reg = CreateObject("vbscript.regexp")
   arr = Range("a1:a10")
   With reg
       .Global = True
       .Pattern = "[^0-9]"
       For Each sh In arr
           i = i + 1
           arr(i, 1) = .Replace(sh, "")
       Next
   End With
   [b1].Resize(UBound(arr), 1) = arr
   Set reg = Nothing
End Sub

本回答被网友采纳
第2个回答  2014-07-08
文件发过来
xtx98@qq.com本回答被提问者采纳
第3个回答  2018-01-05
要看具体的文件!没有文件写什么代码!

excel单元格里面有汉字和数字,如何把数字提取到单独的单元格里面
C2:=--MID(A2,FIND("用水",A2)+2,FIND("吨",A2)-FIND("用水",A2)-2)D2:=--MID(A2,FIND("金额",A2)+2,FIND("元",A2)-FIND("金额",A2)-2)E2:=IFERROR(--MID(A2,FIND("剩余",A2)+2,FIND("元",A2,FIND("剩余",A2))-FIND("剩余",A2)-2),-MID(A2,FIND("应交...

Excel 用VBA提取数据
1、汉字在前,数字在后面的情形。可以用MID,min, find三个函数来实现提取里面的数字。如图:在B2输入“=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&“0123456789”)),20)”2 、把单元格里面所有的数字都提出来。可以使用宏。先打开VBA编辑器。工具——宏——visual basic 编...

值得收集的VBAExcel从混合数据单元中快速提取英文数字和中文
开始提取 首先是[开发工具]-[代码]-[visual basic];在弹出的界面中点击插入模块;将以下代码复制到模块中。函数MyGet(字符串形式,可选n为整数=假)

如何将excel单元格中的数字和字母汉字分离出来
提取中文,=right(a1,lenb(a1)-len(a1))提取非中文=left(a2,len(a2)*2-lenb(a2))

EXCEL取出单元格内数字 VBA
直接用 函数 B1=IF(LEN(MID(A1,FIND("元",A1)+1,FIND("号",A1)-FIND("元",A1)-1))>=3,MID(A1,FIND("元",A1)+1,FIND("号",A1)-FIND("元",A1)-1),0&MID(A1,FIND("元",A1)+1,FIND("号",A1)-FIND("元",A1)-1))下拉公式 ...

EXCEL vba 取单元格中的某个数
1、引用本工作表单元格内容:直接就是等号后面,紧跟要引用的单元格。例:a1单元格要引用b1 的单元格,就是在a1里面输入=b1,即可。2、引用本工作薄里面其它工作表里面的单元格内容:只要在单元格前加上工作表名,再加一个感叹号“!”。例: sheet1的a1单元格,要引用sheet2 里面的b1单元格,就是...

excel用自定义函数提取单元格内字符串中的数字
如果Excel单元格中包含一个混合文本和数字的字符串,要提取其中的数字,通常可以用下面的公式,例如字符串“隆平高科000998”在A1单元格中,在B1中输入数组公式:=MID(A1,MATCH(1,–ISNUMBER(–MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),0),COUNT(–MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1...

excel中如何用VBA提取单元格中的数字?
请查收附件。代码如下。Sub tq()Dim r, n As LongDim rg As RangeDim BGArrr = Range("A" & Rows.Count).End(xlUp).RowBGArr = Range("B1:G" & r)n = Mid(Range("A" & r), 2, 1)For Each rg In Range("A1:A" & r) BGArr(rg.Row, 1) = --Left(rg, 1) BG...

EXCEL VBA 取出某一单元格里文本中的数字
见下,只看连续8个字符是否全为数字 Function MyGetValue(S As String) As Long Dim I As Integer Dim V For I = 1 To Len(S) - 7 If Mid(S, I, 8) Like "###" Then MyGetValue = Val(Mid(S, I, 8))Exit Function End If Next MyGetValue = -1 End Function ...

怎样提取Excel单元格中的数字
将如下代码复制粘贴在VBA模块中,而后在sheet页使用公式。alt+F11 插入模块 复制如下代码 Function Num(myRange As Range)Dim i As SingleNum = ""For i = 1 To Len(myRange)If VBA.IsNumeric(Mid(myRange, i, 1)) ThenNum = Num & Mid(myRange, i, 1)End IfNextEnd Function ...

相似回答