多语言展示
当前在线:1786今日阅读:31今日分享:25

用EXCEL的正则表达式提取商品的价格

我们常常需要在文档中提取价格,比如:文具盒批发价8.8零售及12.8书包批发价88.8零售价128钢笔批发价25.5零售价35.5字帖批发价2.5零售价5那么我们要把这些杂乱的价格提取到EXCEL中,如果是几百上千,就困难了,小编今天告诉你简单的办法
工具/原料
1

EXCEL

2

VBA

方法/步骤
1

将价格信息文档复制在EXCEL的某一个位置,比如存放在Sheet2的第20列第3行.注意,复制后一般会根据回车符号依次粘贴在第4,5.....行。

2

打开Excel的VBA窗口,选择新建模块,打开模块输入下列代码 Function 提取数据(tt As String, n As Long)Set objRegx = CreateObject('vbscript.regexp')objRegx.Global = TrueobjRegx.Pattern = tt & '\D*(\d+\.*\d*)'For i = 3 To Sheet2.[t1048576].End(3).Row    If objRegx.test(Sheet2.Cells(i, 20)) Then       Sheet2.Cells(i, n) = objRegx.Execute(Sheet2.Cells(i, 20))(0).SubMatches(0)    Else    Sheet2.Cells(i, n) = 0    End IfNext i End Function

3

以上代码是一段自定义函数。在模块中再次写入sub 执行()aa=提取数据('批发价',2)end sub于是就会将批发价提取在sheet2的第三列中依次存放喽!如果有问题,请继续与小编沟通!

注意事项
1

稍微知道VBA的一般操作

2

代码可以灵活地运用于其他类似的提取

推荐信息