前景提要

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

函数说明

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

学过一些正则表达式的童鞋应该有点印象,[一-龥]代表的就是中文字符的意思,[a-zA-Z]代表的就是英文字符的意思,[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()函数,暂时我们先掌握如何通过订单号的组合来区分订单来源,其实方法非常的简单,只需要继续中文,英文,和数字的三种方法的写法就可以了,我们来看看中文的,

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),按照星期来统计数据

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

  1. vba中取小数点后两位数_Excel VBA之函数篇-3.24整数小数随意切换 如何取整你说的算...

    前景提要 按照计划,今天将会是函数篇的最后一节了,函数篇已经持续更新了23篇了,前前后后也是和大家分享了不少VBA中的函数知识,有些函数可能大家并不是很在意,因为他的功能并不是很强大,有些函数大家则是 ...

  2. redirect通过url_for传递参数_Excel VBA解读 | 进阶篇(127):Sub过程的参数传递技术...

    学习Excel技术,关注微信公众号: excelperfect 前面用了几篇文章详细讲解了Sub过程的语法及相关知识,本文进一步讲解与Sub过程相关的一些"重要事项",以进一步理解 ...

  3. .sql文件如何执行_Excel如何运行可执行文件,别急,用过vba Shell函数的都知道

    由于Excel和Windows的关系,天然就赋予了强大的基因.执行个文件真的太小意思了. vba shell 函数 格式:Shell(PathName[,WindowStyle]) PathName ...

  4. SAP资产负债表实现方案探索 - 基于 VBA 自定义函数方法

    本篇接着SAP资产负债表实现方案探索 - 基于 Excel-DNA 自定义函数方法 这篇博文,继续介绍通过 VBA 编写自定义函数来实现资产负债表的方法.在上一篇文章中,整体解决方案的思路可以分为两个 ...

  5. vba 云服务器,EXCEL服务器中VBA接口函数介绍

    EXCEL服务器中VBA接口函数介绍 日期:2017-11-27 14:40  |  分类:最新资讯  |  人气: EXCEL服务器中VBA接口函数 SaveReport 作用:保存报表模板或者报表 ...

  6. VBA 自定义函数语法

    VBA 自定义函数语法 Sub subName( [(argList)] ) argList 为参数列表,一个函数允许声明多个参数,各个参数之间用逗号( , )隔开.参数声明语法如下文. '参数的语法 ...

  7. VBA SPLIT函数详解

    VBA编程是经常会用到字符串拆分函数SPLIT,用法也不复杂,但是大家对于这个函数的参数未必完全了解,下面结合示例讲解一下参数的用法. SPLIT函数的语法格式如下: Split(expression ...

  8. 微软函数 for vba自定义函数Function

    "XLAM"    支持WPS.Office 2007及以上版本. "XLA"    支持WPS.Office 2003及以上版本. 声明:必须具有VBA运行环 ...

  9. Excel·VBA自定义函数筛选单元格区域重复值

    贴吧提问<哪位大神知道要怎么实现?>,Excel内置函数使用比较麻烦,VBA字典实现比较直观 自定义函数UNIQUE_IF筛选单元格区域中的值,可以选择返回其中的唯一值或重复值,并用分隔符 ...

最新文章

  1. [转] React 是什么
  2. 公共交通WiFi末路?公交WiFi重挫 地铁WiFi承受盈利压力
  3. LinuxCNC解析(一)之安装Linuxcnc所需要的依赖包
  4. 【NOI2015】【codevs4600】【BZOJ4195】自动程序分析,我太弱了
  5. 用最简单的道理说服别人,提升自己
  6. java8新特性——Stream流
  7. 腾讯新出了一款音乐app,它能代替QQ音乐吗?
  8. bug引发的惨案,拼多多100元话费只需4毛钱,损失上千亿……
  9. linux iio子系统
  10. AXI4 Increase burst / wrap burst/ fix burst 和 narrow transfer
  11. Python注释符号(多行注释和单行注释)用法详解
  12. python打印N*N乘法表
  13. 计算机组成原理pc和upc,(完整版)计算机组成原理模拟试题ABC卷.doc
  14. Python3.9标准库math中的函数汇总介绍(53个函数和5个常数)
  15. html是一种网页设计语言,html网页设计教程
  16. 树的中序遍历+前序遍历得到后序遍历
  17. cmos sensor (图像传感器) CSI接口
  18. No speakable text present at Android Studio
  19. easyx创建窗口及原理
  20. 没听过计算机竞赛,国际信奥赛中国队夺冠!我忍不住再来和大家说说“编程”...

热门文章

  1. 怎么导入sklearn包_4.5包
  2. mysql转openldap_用mysql作openldap的后台数据库
  3. 无法登陆到你的账号 桌面的文件都消失_都别拦着我,我要删库了
  4. python读大文件方法_使用Python读取大文件的方法
  5. ideahtml里面没有提示_抖音上爆火的苹果充电提示音,安卓手机也可以设置了!!...
  6. kettle分布式部署_Kettle(三)分布式架构
  7. 丹佛斯变频器型号说明_台达变频器VFD-CH2000型号说明及功能介绍
  8. 怎么让队友变成绿色的名字_“吃鸡”进入游戏后,发现队友在玩手机,他到底是怎么做到的?...
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的医院管理系统
  10. 希尔排序java写法_java高级排序之希尔排序