目录
引言
快下班了,老板因为数据问题把你留下,瞄了一眼原来是一个没留意重量单位没有统一,必须要全部统一成kg,必须要改好了才能下班,怎么办呢?成百上千条数据,一个个手工改要到猴年马月去了?关键老板又急着要数据,真是叫天天不应叫地地不灵
关键时候VBA不就派上用场了嘛,既不需要安装各种插件,也不需要各种繁琐的操作步骤,一键替换省心省力,一起来看看是如何实现的吧?
实现的功能
将C列数据中的单位(斤、公斤、g、千克)统一成kg,涉及到的数据也要按照kg标准自动换算
如第一个数据:1.5斤/袋,替换后会变成0.75kg/袋
代码实现
单位统一功能实现
简单来说分两个过程来实现的,逐一详细说明
C列单元格内容拆分
整体思路来源于对C列数据的分析,随便拿出一个规格,如5公斤/箱,都是由三部分组成的,分别标出了不同的颜色,我们需要做的就是把每个规格,也就是C列数据都拆分成3个部分。当思考到这里的时候第一个想到的就是正则表达式了。使用正则之前在VBA界面选择工具--引用,在弹出框中选择“Microsoft VBScript Regular Expressions 5.5”,即打钩
正则表达式可以轻松的获取到这三个部分的内容。由于单位这个比较特殊,有的是字母有的是汉字表示的,所以为了方便多匹配了一次,中文的单位存放在strTarget2这个变量中,英文字符的单位存放在strTarget3中。
接下来再看如何构