关灯

[VBA] 利用VBA进行字符串拆分

[复制链接] [查看百度是否已收录此帖]
李海Blog 发表于 2021-9-14 08:56:01 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 

本帖子中包含更多资源!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
字符串拆分就是将字符串按照指定分隔符拆分成多个子串。
它的语法是:Split(待拆分字符串,分隔符字符串)
下面我们拿下图中的案例来作为细讲案例。 640.png
按照split函数的语法,它的待拆分字符串就是B3这个单元格,需要将顿号来作为拆分符号,所以它的第2参数就是“、”顿号。

将参数依次填入产生完整写法Split(range(“B3”),”、”)

这个函数就可以将上面的人名单独拆分开,那么问题来了,字符串是拆分开了,那么在VBA中拆分开的字符串是以什么形式保存的呢?

答:数组,所有拆分后的字符串都是存放在数组中的。最后也是从数组中取出来写入到单元格中。

知道了函数写法,知道了存放类型,我们再来看该问题的对应完整的VBA代码: 640.png
第2行是定义数据类型,我们上面说过split拆分后的字符串是存放在数组中的,所以定义了一个存放文本型数据的动态数组。

第3行代码将split拆分后的字符串存放在该数组中。

第4行代码意思是先将字符串输送到表格中的第四行开头的区域中。

第5行循环遍历每一个拆分后的字符串并且输送到变量s中,整个循环完毕就可以将数组中每一个元素依次输送到s。

第6行判断语句,将那些不属于我们需要的空字符串排除在外可以避免输送到表格中。

第7行和第8行将s输送到第i行第5列,变量i是单元格行号,每写入一个结果就下移一行,每次循环时,变量s都指向数组a中的下一个字符串,结果就是最后将字符串会依次填入e3到e6单元格。

第9行到第11行依次是结束句语法。

最后有一点要提醒的是,在VBA中,使用for each遍历数组时,循环变量必须是变体类型。否则就会出错。


上一篇:Excel 制作动态密码登入的窗体实现
下一篇:数据验证(数据有效性)让数据更加规范的输入
零基础学习网站建设,上李海Blog就够了!你与成功只差添加一个好友:微信18298346873
 
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 推广达人

    积极宣传本站,为本站带来更多注册会员
  • 宣传达人

    积极宣传本站,为本站带来更多的用户访问量
  • 突出贡献

    长期对论坛的繁荣而不断努力,或多次提出建设性意见
  • 优秀版主

    活跃且尽责职守的版主
  • 荣誉管理

    曾经为论坛做出突出贡献目前已离职的版主
  • 论坛元老

    为论坛做出突出贡献的会员

9关注

2粉丝

4420帖子

排行榜

Archiver|百度统计|手机版|李海博客 ( 陇ICP备15000550号-3 )|

GMT+8, 2021-10-28 03:19 , Processed in 0.162515 second(s), 35 queries .

技术支持:李海   Tel/WeChat:18298346873

© 2013-2021 www.lihaiblog.cn

快速回复 返回顶部 返回列表