ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] A列是单号,如何用VBA实现B列得到纯单号,C列得到单号意外的内容

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-12-5 20:15 | 显示全部楼层 |阅读模式
A列是单号,如何用VBA实现B列得到纯单号,C列得到单号意外的内容,实例如下,谢谢各位!! A列是单号,如何用VBA实现B列得到纯单号,C列得到单号意外的内容.zip (6.96 KB, 下载次数: 7)



TA的精华主题

TA的得分主题

发表于 2017-12-5 20:22 | 显示全部楼层
这样的问题一般用正则......................................................................

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-12-5 20:46 | 显示全部楼层
小花鹿 发表于 2017-12-5 20:22
这样的问题一般用正则......................................................................

懂行的,谢谢您

TA的精华主题

TA的得分主题

发表于 2017-12-5 20:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. Sub Adele()
  2.     Dim Reg As Object, arr, brr(1 To 10000, 1 To 2)
  3.     Set Reg = CreateObject("Vbscript.RegExp")
  4.     With Reg
  5.         .Global = True
  6.         .Pattern = "(\d+){2}"
  7.     End With
  8.     arr = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
  9.     For z = 1 To UBound(arr)
  10.         Set Mat = Reg.Execute(arr(z, 1))
  11.         k = k + 1
  12.         brr(k, 1) = Mat(0)
  13.         brr(k, 2) = Replace(arr(z, 1), Mat(0), "")
  14.     Next z
  15.     [b:b].NumberFormatLocal = "@"
  16.     [B1].Resize(k, 2) = brr
  17. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2017-12-5 21:00 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请见附件!!!

Adele-A列是单号,如何用VBA实现B列得到纯单号,C列得到单号意外的内容.zip

15.57 KB, 下载次数: 6

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-12-6 12:03 | 显示全部楼层

太牛了,我可是想了很久,搜索了好多贴,还是没能解决,怎么到您这,这么快就解决了,人跟人的差距咋就这么大。太感谢您了

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-12-6 19:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

假如只有一行内容的时候就会出错,不知道要怎样容错呢

TA的精华主题

TA的得分主题

发表于 2017-12-6 20:48 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-12-7 20:13 | 显示全部楼层
jsgj2023 发表于 2017-12-6 20:48
已修正,请见附件!!

谢谢,应用中发现有些单号前面还有数字,这样就会出错了,有办法容错么,这种情况下,比如内容是这样的“1x转16x显卡转接线  3片   中通468414938680”结果就是16了,而不是后面的单号,谢谢您

点评

请上传附件看看!  发表于 2017-12-8 07:42

TA的精华主题

TA的得分主题

发表于 2017-12-7 20:17 | 显示全部楼层
任我逍遥 发表于 2017-12-7 20:13
谢谢,应用中发现有些单号前面还有数字,这样就会出错了,有办法容错么,这种情况下,比如内容是这样的“ ...

所以你做附件的时候要把可能的情况都枚举出来,而不是想到什么问什么,挤牙膏似的。

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-19 16:00 , Processed in 0.047051 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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