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
相关推荐
qq_334466861 天前
excel VBA应用
java·服务器·excel
E_ICEBLUE1 天前
快速合并 Excel 工作表和文件:Java 实现
java·microsoft·excel
祝威廉1 天前
运营好搭档:InfiniSynapse 多Excel文件关联分析
excel
有蝉1 天前
vue-office——支持多种文件(docx、excel、pdf)预览的vue组件库,支持vue2/3。也支持非Vue框架的预览。
vue.js·pdf·excel
蒲公英源码1 天前
uniapp开源ERP多仓库管理系统
mysql·elementui·uni-app·php
小码过河.1 天前
告别 mysqldump 痛点!用 mydumper 实现 MySQL 高效备份与恢复
数据库·mysql
是2的10次方啊1 天前
MySQL索引优化实战:原则速查与踩坑案例(实战篇)
mysql
TDengine (老段)1 天前
从“数据堆场”到“智能底座”:TDengine IDMP如何统一数据语言
大数据·数据库·物联网·时序数据库·tdengine
l1t1 天前
利用短整数类型和部分字符串优化DuckDB利用数组求解数独SQL
开发语言·数据库·sql·duckdb
一 乐1 天前
医疗管理|医院医疗管理系统|基于springboot+vue医疗管理系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·医疗管理系统