Excel:vba实现正则匹配数字

复制代码
Sub 提取数字()
Dim cell As Range
Dim sj As Object
Dim regx As Object
Dim ss As Object
Dim n As Integer

'创建了一个 VBScript 正则表达式对象 regx,用于匹配特定模式的字符串
Set regx = CreateObject("vbscript.regexp")
'设置正则表达式属性
With regx
    .Global = True  '表示正则表达式会在字符串中查找所有匹配项,而不仅仅是一个匹配项
    .Pattern = "\d+" '定义了正则表达式模式 \d+,用于匹配一个或多个数字字符
    For Each cell In Range("a2", Cells(Rows.Count, 1).End(xlUp))
        '对当前单元格内容进行正则表达式匹配,并将所有匹配结果存入 sj 集合中
        Set sj = .Execute(cell)
        For Each ss In sj
            '每找到一个匹配项,就将 n 递增 1,用于确定数据写入的位置
            n = n + 1
            '将匹配的数字写入当前行中的下一个单元格.Offset(0, n)指定了写入的位置:与 ss 单元格在同一行,向右偏移 n 列
            cell.Offset(0, n) = ss
        Next ss
        '在处理完当前单元格后,将 n 重置为 0,以便在下一行重新开始
        n = 0
    Next cell
End With
End Sub
相关推荐
蘑菇小白5 分钟前
基于嵌入式的数据库SQLite
linux·数据库·sqlite
梨落秋霜8 分钟前
Python入门篇【连接数据库】
数据库·python·oracle
blues925721 分钟前
【MySQL数据库】Ubuntu下的mysql
数据库·mysql·ubuntu
fengye20716123 分钟前
MongoDB 安装与配置(二)
数据库·mongodb
@insist12324 分钟前
数据库系统工程师-元组 / 域演算与查询优化:从理论到实践的数据库核心能力指南
数据库·oracle·软考·数据库系统工程师
2401_8898846627 分钟前
深入理解Python的if __name__ == ‘__main__‘
jvm·数据库·python
●VON31 分钟前
2G 内存云服务器部署 Spring Boot + MySQL 实战:从踩坑到上线
服务器·开发语言·spring boot·mysql·ui·von
李宥小哥34 分钟前
SQLite06-常用对象
java·数据库·sql
lclcooky38 分钟前
【postgresql】分区表管理
java·数据库·postgresql
NineData39 分钟前
TB级数据手工校验要多久?用NineData仅需小时级别
数据库