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
相关推荐
m0_7349497917 小时前
MySQL如何配置定时清理过期备份文件_find命令与保留周期策略
jvm·数据库·python
m0_5145205718 小时前
MySQL索引优化后性能没提升_通过EXPLAIN查看索引命中率
jvm·数据库·python
NaMM CHIN18 小时前
sql实战解析-sum()over(partition by xx order by xx)
数据库·sql
不瘦80斤不改名18 小时前
深入浅出 MySQL(一):一文理清 SQL 核心规范与五大分类
数据库·sql·mysql
woniu_buhui_fei18 小时前
MySQL知识整理二
数据库·mysql
Polar__Star19 小时前
如何在 AWS Lambda 中正确使用临时凭证生成 S3 预签名 URL
jvm·数据库·python
Lucifer三思而后行19 小时前
zCloud 中 Oracle 实例状态未知问题记录
数据库·oracle
island131419 小时前
最详细VMware Workstation 17 上安装 Ubuntu 系统
linux·数据库·ubuntu
卢傢蕊19 小时前
MongoDB
数据库·mongodb
m0_7436239219 小时前
React 自定义 Hook 的命名规范与调用规则详解
jvm·数据库·python