怎么提取EXCEL单元格出现的数据?

如果你的问题只有一处数值,可以用公式实现,但你看你的需求是在一个字符串中(即文本中),需要提取的数值不止一处。【注】以下方法同样适合所有需要在一个文本中提取某几处数值的要求。比如我们需要将提取的字符串在A2开始输入原始的文本,右侧无限提取文

看了别人回复的答案估计都不能解决你的问题。如果你的问题只有一处数值,可以用公式实现,但你看你的需求是在一个字符串中(即文本中)如何在电脑上提取系统,需要提取的数值不止一处。用公式很难实现。下面介绍用EXCEL VBA帮你解决问题。

【注】以下方法同样适合所有需要在一个文本中提取某几处数值的要求。

比如我们需要将提取的字符串在A2开始输入原始的文本,右侧无限提取文本中出现的数值。

操作方法:

一、点击【开发工具】的【查看代码】,如下图

二、双击左侧所在的工作表(即我们输入了原始数据所在的工作表)

三、复制以下代码,粘贴(拷贝)至右侧区域

———————代码区——————–

Sub 提取数字()

Dim i As , j As , col As , As Long, str As , b1 As

On Error Next

b1 = False

‘默认从第二列开始写入数值

col = 2

‘ 获得原始数据的最后一列值

= Range(“”).End(xlUp).Row

‘开始循环原始数据

For i = 2 To

‘遍历一个单元格的每个字符

For j = 1 To Len(Cells(i, 1))

‘判断一个字符是否为整数

If Mid(Cells(i, 1), j, 1) Like “#” Then

b1 = True

‘将一个整数写入到str的最后一位中.

str = str + Mid(Cells(i, 1), j, 1)

Else

‘输出str的值到对应的单元格

If b1 = True Then

Cells(i, col) = –str

col = col + 1

‘重新赋空值

str = “”

b1 = False

End If

End If

‘判断最后一个数值是否在最字符串中的是末尾处,因为上面的循环没有输出,这里需要输出最后为数值的结果

If b1 = True And j = Len(Cells(i, 1)) Then

Cells(i, col) = –str

col = col + 1

str = “”

b1 = False

End If

Next j

‘重新将列恢复默认值

col = 2

Next i

End Sub

———————代码区——————–

四、运行代码:点击下图所示的按键(或按F5),执行代码

五、执行代码后所得到的结果如下图所示:

结束!

以上若有什么疑问如何在电脑上提取系统,可本人头条号后发私信给我。欢迎相互交流。

本文到此结束,希望对大家有所帮助。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至81118366@qq.com举报,一经查实,本站将立刻删除。发布者:简知小编,转载请注明出处:https://www.jianzixun.com/91643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫

相关推荐

软文友链广告合作联系站长qq81118366