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

SPLIT函数的语法格式如下:

Split(expression, [ delimiter, [ limit, [ compare ]]])
参数 含义
express 需要拆分的字符串
delimiter 参数为拆分的分隔符,如果省略则使用空格做为分隔符
limit 指定返回字符串的数量
compare 指定拆分子字符串时的比较类型

先来看一个示例,现在需要拆分Good good study day day up为单个单词。

Sub Demo1()Dim strString As StringDim varResult As VariantDim arrResult() As StringstrString = "Good good study day day up"varResult = VBA.Split(strString)arrResult = VBA.Split(strString)
End Sub

VBA.Split(strString)省略delimiter参数,则使用空格做为分隔符,拆分为6个单词字符串,在【本地窗口】中可以查看数组的值,如下图所示。

请注意变量声明语句,用于保存结果的数组,可以使用如下两种方式:Variant变量或者字符串数组,但是不可以声明为Variant数组。

    Dim varResult As VariantDim arrResult() As String

一般情况下,都无须指定LIMIT参数,下面看一个使用LIMIT参数的例子。对于一些国外地址如:888, Ocean Wind Rd, Markham, V4A,需要拆分为888Ocean Wind RdMarkham, V4A,而不是拆分为4段,此时就需要设置LIMIT参数为3。

Sub Demo2()Dim strString As StringDim arrResult() As StringDim i As IntegerstrString = "888, Ocean Wind Rd, Markham, V4A"arrResult = VBA.Split(strString, ",", 3)For i = LBound(arrResult) To UBound(arrResult)Debug.Print Trim(arrResult(i))Next i
End Sub

接下来看一下如何使用compare参数,下面示例代码中设置为vbTextCompare,即执行文本比较,也就是说忽略字符大小写区别(S和s都可以作为分界符)。如下代码结果为包含4个元素的字符串数组(AAABBBCCCDDD)。

Sub Demo3()Dim strString As StringDim arrResult() As StringDim i As IntegerstrString = "AAAsBBBSCCCsDDD"arrResult = VBA.Split(strString, delimiter:="s", compare:=vbTextCompare)For i = LBound(arrResult) To UBound(arrResult)Debug.Print Trim(arrResult(i))Next i
End Sub

如果将compare参数设置为vbBinaryCompare,那么结果就会不同了。

Sub Demo4()Dim strString As StringDim arrResult() As StringDim i As IntegerstrString = "AAAsBBBSCCCsDDD"arrResult = VBA.Split(strString, delimiter:="s", compare:=vbBinaryCompare)For i = LBound(arrResult) To UBound(arrResult)Debug.Print Trim(arrResult(i))Next i
End Sub

字符串被拆分为三段,BBBCCC之间的S不再做为分界符。

AAA
BBBSCCC
DDD

通过这个讲解,希望大家完全明白了SPLIT函数的用法。


参考文章
《VBA JOIN函数详解》

VBA SPLIT函数详解相关推荐

  1. 计算机vba函数,vba 常用函数详解.doc

    Find 方法 参阅应用于示例特性 应用于 WorksheetFunction 对象的 Find 方法. 在工作表中查找特定信息. expression.Find(Arg1, Arg2, Arg3) ...

  2. 【Python入门】Python之OS模块39个常用函数详解

    os,语义操作系统,所以该模块就是操作系统相关的功能了,用于处理文件和目录这些我们日常手动需要做的操作,比如新建文件夹.获取文件列表.删除某个文件.获取文件大小.重命名文件.获取文件修改时间等,该模块 ...

  3. python3 内置函数详解

    内置函数详解 abs(x) 返回数字的绝对值,参数可以是整数或浮点数,如果参数是复数,则返回其大小. # 如果参数是复数,则返回其大小.>>> abs(-25) 25>> ...

  4. 匿名函数python_基于python内置函数与匿名函数详解

    内置函数 Built-in Functions abs() dict() help() min() setattr() all() dir() hex() next() slice() any() d ...

  5. python getattr_Python中的getattr()函数详解:

    标签:Python中的getattr()函数详解: getattr(object, name[, default]) -> value Get a named attribute from an ...

  6. timm 视觉库中的 create_model 函数详解

    timm 视觉库中的 create_model 函数详解 最近一年 Vision Transformer 及其相关改进的工作层出不穷,在他们开源的代码中,大部分都用到了这样一个库:timm.各位炼丹师 ...

  7. pytorch函数详解

    pytorch函数详解 在typora这里写之后复制到简书上 1. torchvision 1.1 transforms.Compose(transforms) 把几个转换组合 example: fr ...

  8. office365新函数详解

    office365新函数详解 1.UNIQUE函数 这里是一张随机选择的很乱的销售报表,有人员,月份,产品名称,销售数量和销售价格. 现在需要统计有几个不同的销售人员,并且分别列出来,如果用透视表就非 ...

  9. OpenCV-Python直方图计算calcHist函数详解

    ☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░ 一.引言 在<<数字图像处理>第三章学习总结感悟2:直方图处理: h ...

最新文章

  1. Apache服务器配置技巧
  2. Android之startActivityForResult的使用
  3. 启动nginx服务提示 nginx: [emerg] still could not
  4. 火爆网络的《神经网络与深度学习》,有人把它翻译成了中文版!
  5. 1075 链表元素分类 (25 分)
  6. oc基础-protocol协议的使用
  7. 快解析:管家婆C9异地访问解决方案
  8. python决策树预测模型_带决策树回归模型的负交叉值得分
  9. Redhat 国内Yum源配置
  10. python sass_引入sass变量
  11. python实现斗地主发牌洗牌
  12. PIE-Engine教程—中国降水分布可视化加载以2018年为例(含图例添加)
  13. oracle 12 去掉 cdb,Oracle 12c CDB 和PDB 数据库的启动与关闭 说明
  14. Android系统中设置TextView的字符间距
  15. C语言候老师,两本留言册背后的C语言老师
  16. Serverless Computing Fass $ openwhisk快速部署、应用、实例
  17. 802.11 帧封装细节
  18. 好莱坞原则和IOC控制反转
  19. 安卓录屏录麦克风ANE screenANE
  20. php hyper-v,win10自带播放器 rmvb_win 配置php_win 10 hyper-v

热门文章

  1. 优化网站的几种常见手段 大幅度降低Load time时间
  2. QT:设置子窗口显示在父窗口的位置(绝对坐标)
  3. 四-3,区块链共识机制---Casper
  4. 等保测评师是做什么的?工资怎么样?
  5. python读取sav文件_savReaderWriter 模块的使用
  6. 我的世界java路径_我的世界java路径怎么设置?java路径设置攻略
  7. 论文-阅读理解-Adversary Resistant Deep Neural Networks with an Application to Malware Detection
  8. 如何用神经网络预测数据,人工神经网络分析方法
  9. 牛客网在线编程专题《剑指offer-面试题28》字符串的排列
  10. 腾讯太极广告一站式机器学习平台的产品化之路