cstring::replace不区分大小写_Excel VBA之函数篇-3.11订单号千奇百怪,如何按照结构区分来源...

前景提要

随着经济水平的不断的提高,现在很多的外资企业都已经来到中国开厂和中国公司打交道做生意了,而很多国内公司为了适应各种不同的市场,也是开发了各种不同的业务,这些业务很多都是通过订单号的形式存在于工作账务上的,看起来业务是很多,但是后期核对账务的事后就非常的麻烦,有的订单号含有英文的,一般都是外资企业的,有些订单号都是数字的,一般都是内部订单号的,还有一些订单号可能含有中文字符的,千奇百怪的,那么我们要如何通过中文,数字,英文的方式来区分订单号呢?

函数说明

这样的情况,其实我们可以通过like()函数来实现的,like在英文中的意思就是像,并不一定是完全像,有点模糊的意思,而在VBA中,like()函数其实就是模糊匹配查找的意思,通过给与某种条件,只要能够达到这个标准的,都算是符合的,延伸下,我们可以判断订单中是否含有中文,英文或者数字就可以区分了,那么中英文,以及数字要如何通过like()方法来区分呢?

学过一些正则表达式的童鞋应该有点印象,[一-龥]代表的就是中文字符的意思,[a-zA-Z]代表的就是英文字符的意思,[0-9]很简单,代表的就是数字的意思,但是光看着这些似乎非常的难以理解,我们还是通过几个实例来说明下吧。

上代码

假设我们当前的数据模块是这样的,订单号有各种不同的样式,中英文数字混杂的,假设含有英文的都是国外订单,含有中文的就是国内订单,纯数字的就是自己员工内部内销的订单,我们尝试下通过订单的不同组合来区分订单的不同来源。

4acf9c4ca81c4905b6f87b4fb9f4263d.png
Sub test()Dim iFor i = 2 To 11 If Cells(i, 1).Text Like "*[一-龥]*" Then s = "国内订单" ElseIf Cells(i, 1).Text Like "*[a-zA-Z]*" Then s = "国外订单" ElseIf Cells(i, 1).Text Like "*[0-9]*" Then s = "内部订单" End If Cells(i, 2) = sNext iEnd Sub

运行的结果

d573ed3844c3911ed3dac1fad164cbcb.png

准确的通过订单号的组合,将订单按照不同的来源区分出来了,初步达到了我们想要的效果。

代码解析

这里我们可以看出来代码是非常的简单,因为我们是第一次接触like()函数,暂时我们先掌握如何通过订单号的组合来区分订单来源,其实方法非常的简单,只需要继续中文,英文,和数字的三种方法的写法就可以了,我们来看看中文的,

Cells(i, 1).Text Like "*[一-龥]*" Then

[一-龥],很多人肯定会疑惑最后一个字不认识,其实不要紧,你可以选择直接复制粘贴的,如果你真的记不住,这里也可以将最后一个字改成乌龟的龟,也是一样能够实现的,因为日常汉子很少有生僻字的,替换成为龟,也可以实现这样的效果

英文

Cells(i, 1).Text Like "*[a-zA-Z]*"

这里就比较好理解了,从小写到大写全部写一遍就可以了,这样就代表了英文26个字母的全体,在案例中我们留意到第6个订单号是英文小写开头的,其他的都是英文大写开头的,从结果来看,不管是大小写都能够取分

最后一个数字就更加简单了

Cells(i, 1).Text Like "*[0-9]*"

阿拉伯数字过一遍就可以了。

完整代码及注释

Sub test()Dim iFor i = 2 To 11 If Cells(i, 1).Text Like "*[一-龥]*" Then '判断是否含有中文 s = "国内订单" ElseIf Cells(i, 1).Text Like "*[a-zA-Z]*" Then '判断是否含有英文 s = "国外订单" ElseIf Cells(i, 1).Text Like "*[0-9]*" Then ''判断是否含有数字 s = "内部订单" End If Cells(i, 2) = sNext iEnd Sub

总结

==========================================================================

好了今天的分享就到这里了,今天的代码还是比较的简单的,大家只需要掌握中文,英文和数字的判断即可,在后面我们将会进一步扩展关于like()函数的使用方法,将数据更加复杂化,尽可能的贴近大家的日常工作中的场景。

==========================================================================

本人已经打算长期分享一些网络搜集的各种VBA知识,如果大家有问题也可以提出来共同解决,一起进步,毕竟VBA的世界还是很大的。

如果你有什么想要分享的,或者有什么想要知道的,都可以留言等方式告诉我,大家一起努力进步。

好了,明晚19:00,准时再见。

=============================历史相关文章==============================

Excel VBA函数篇-3.8上万条数据按照季度统计?季度是什么东东?

Excel VBA之函数篇-3.9变态的老板要求,统计周末产品销量

Excel VBA之函数篇-3.10变态的老板要求(2),按照星期来统计数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值