ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 347|回复: 2

[求助] 求助修改代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-3-31 10:22 | 显示全部楼层 |阅读模式
本帖最后由 赵龙, 于 2023-3-31 10:54 编辑

目的:提取A1单元格内容中提取电缆规格并返回芯数及单芯最大截面面积,如下内容返回5185.   其中5是由32构成。



A1单元格内容如下:

1.名称:无卤低烟B1类电缆
2.型号:WDZB1-YJY-0.6/1KV
3.规格:3*185+2*95
4.敷设方式、部位:桥架、穿管
5.其它:具体详见设计图纸及相关技术要求




目前代码如下,但不能显示正确结果,请高人修改,小白在此感谢



Sub ExtractCableSpecs() '定义一个子过程,名称为ExtractCableSpecs
    '获取电缆规格字符串
    Dim cableSpecs As String '声明字符串变量cableSpecs,用于存放电缆规格信息
    cableSpecs = Range("A1").Value '将单元格A1中的值赋给cableSpecs变量
   
    '使用正则表达式提取电缆最大截面和芯数
    Dim regex As Object '声明对象变量regex,用于存放VBScript.RegExp对象
    Set regex = CreateObject("VBScript.RegExp") '新建VBScript.RegExp对象并将其赋给regex变量
    regex.Pattern = "(\d+)\*(\d+)" '设置正则表达式的模式,匹配数字*数字的模式
    Dim matches As Object '声明对象变量matches,用于存放匹配结果
    Set matches = regex.Execute(cableSpecs) '使用正则表达式匹配电缆规格信息,并将结果赋给matches变量
   
    '遍历匹配结果,提取最大截面和芯数
    Dim maxArea As Integer '声明整型变量maxArea,用于存放最大截面
    Dim coreCount As Integer '声明整型变量coreCount,用于存放芯数
    For Each Match In matches '遍历匹配结果
        Dim area As Integer '声明整型变量area,用于存放单个匹配项的截面
        Dim count As Integer '声明整型变量count,用于存放单个匹配项的芯数
        count = CInt(Match.SubMatches(0)) '将匹配项中第一个子匹配项(即数字*数字中的第一个数字)转换为整型并赋给area变量
        area = CInt(Match.SubMatches(1)) '将匹配项中第二个子匹配项(即数字*数字中的第二个数字)转换为整型并赋给count变量
        If area > maxArea Then '如果当前匹配项的截面大于maxArea变量中存储的最大截面
            maxArea = area '将当前匹配项的截面赋给maxArea变量
        End If
        coreCount = coreCount + count '将当前匹配项的芯数加到coreCount变量中
    Next Match '继续遍历下一个匹配项
   
    '输出结果
     Range("B1").Value = coreCount '将提取出的芯数输出到单元格B1中  
     Range("C1").Value = maxArea '将提取出的最大截面输出到单元格C1中
   
End Sub



测试.zip

10.59 KB, 下载次数: 4

TA的精华主题

TA的得分主题

发表于 2023-3-31 13:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-3-31 13:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-9-29 12:18 , Processed in 0.027130 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表