百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

VBA字典与数组第二十一讲:文本转换为数组函数Split

wptr33 2024-12-16 16:29 43 浏览

《VBA数组与字典方案》教程(10144533)是我推出的第三套教程,目前已经是第二版修订了。这套教程定位于中级,字典是VBA的精华,我要求学员必学。7.1.3.9教程和手册掌握后,可以解决大多数工作中遇到的实际问题。

这套字典教程共两册,一共八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:VBA字典与数组第二十一讲:文本转换为数组函数Split

【分享成果,随喜正能量】人生百味,情最浓,人生繁华,淡最真,人生一路,一步有一步的风景,一程有一程的感悟,不论时光如何流转,有些东西不会改变,那就是对美好的追求,对真情的渴望,给自己一份淡然,不困于情,不憾于心,无悔于生命,充实于生活,平和于心态,守一份心净,淡淡就好。。

第二十一讲 文本转换为数组函数Split

大家好,我们今日继续讲解VBA数组与字典解决方案,今日的内容是第21讲:如何将文本内容转化为数组。这个问题的提出是因为我们在处理一些文字时往往在Word中,要拷贝到Excel中来填充一些资料,多是人名、设备名等,这些往往要求以独占一个单元格的信息,这时该如何把这些人名、设备名放到Excel中呢?这就是文本转化为数组再填充的问题。

1 利用Split 函数将字符串按指定的分隔符分开

在处理字符串时可以使用Split 函数将字符串按指定的分隔符分开并以数组返回,

Split 函数返回一个下标从零开始的一维数组,包含指定数目的子字符串

语法:Split(expression[, delimiter[, limit[, compare]]])

参数expression是必须的,包含子字符串和分隔符的字符串表达式。

参数delimiter是必须的,用来标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。

2 利用Transpose工作表函数进行转置

我们在完成数组的转换之后,往往要求横向或者纵向的填充,这时工作表Transpose函数返回转置单元格区域,即将一行单元格区域转置成一列单元格区域,反之亦然。

语法如下:TRANSPOSE(array)

参数array为需要进行转置的数组或工作表中的单元格区域。

3 Split函数的应用实例

有了上面两个知识点我们看我们今日的学习内容,例如,有一个单元格的文本内容,要把这些内容首先转化为数组,然后再填充到纵向的单元格中。

代码如下:

Sub MyNZsz_4() '第21讲

Dim arr As Variant

arr = Split(Sheets("21").Cells(1, 1), " ")

Sheets("21").Cells(3, 1).Resize(UBound(arr) + 1, 1) = Application.Transpose(arr)

End Sub

代码截图:

代码解析:

  1. 以上过程使用Split 函数将工作表Sheets("21")中A1单元格的姓名分别写入到工作表Sheets("20")中的A列单元格中。

2)第4行代码,首先使用UBound函数取得返回数组的最大下标后调整单元格区域,因为数组下标的缺省下界默认为0,所以在使用Resize属性调整单元格区域时参数RowSize需要在返回数组的最大下标上加1。

3) 最后使用工作表Transpose函数将返回数组转置后写入到工作表调整后的单元格区域中。

运行前的窗口:在A1单元格有一组文本:

运行后,在A3单元格向下处理了上述的文本:

今日内容回向:

1 Split 函数的作用是什么?他是VBA函数吗?

2 TRANSPOSE(array) 函数的作用是什么?

我多年的VBA实践经验,全部浓缩在以下教程中:


相关推荐

oracle数据导入导出_oracle数据导入导出工具

关于oracle的数据导入导出,这个功能的使用场景,一般是换服务环境,把原先的oracle数据导入到另外一台oracle数据库,或者导出备份使用。只不过oracle的导入导出命令不好记忆,稍稍有点复杂...

继续学习Python中的while true/break语句

上次讲到if语句的用法,大家在微信公众号问了小编很多问题,那么小编在这几种解决一下,1.else和elif是子模块,不能单独使用2.一个if语句中可以包括很多个elif语句,但结尾只能有一个...

python continue和break的区别_python中break语句和continue语句的区别

python中循环语句经常会使用continue和break,那么这2者的区别是?continue是跳出本次循环,进行下一次循环;break是跳出整个循环;例如:...

简单学Python——关键字6——break和continue

Python退出循环,有break语句和continue语句两种实现方式。break语句和continue语句的区别:break语句作用是终止循环。continue语句作用是跳出本轮循环,继续下一次循...

2-1,0基础学Python之 break退出循环、 continue继续循环 多重循

用for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句。比如计算1至100的整数和,我们用while来实现:sum=0x=1whileTrue...

Python 中 break 和 continue 傻傻分不清

大家好啊,我是大田。...

python中的流程控制语句:continue、break 和 return使用方法

Python中,continue、break和return是控制流程的关键语句,用于在循环或函数中提前退出或跳过某些操作。它们的用途和区别如下:1.continue(跳过当前循环的剩余部分,进...

L017:continue和break - 教程文案

continue和break在Python中,continue和break是用于控制循环(如for和while)执行流程的关键字,它们的作用如下:1.continue:跳过当前迭代,...

作为前端开发者,你都经历过怎样的面试?

已经裸辞1个月了,最近开始投简历找工作,遇到各种各样的面试,今天分享一下。其实在职的时候也做过面试官,面试官时,感觉自己问的问题很难区分候选人的能力,最好的办法就是看看候选人的github上的代码仓库...

面试被问 const 是否不可变?这样回答才显功底

作为前端开发者,我在学习ES6特性时,总被const的"善变"搞得一头雾水——为什么用const声明的数组还能push元素?为什么基本类型赋值就会报错?直到翻遍MDN文档、对着内存图反...

2023金九银十必看前端面试题!2w字精品!

导文2023金九银十必看前端面试题!金九银十黄金期来了想要跳槽的小伙伴快来看啊CSS1.请解释CSS的盒模型是什么,并描述其组成部分。...

前端面试总结_前端面试题整理

记得当时大二的时候,看到实验室的学长学姐忙于各种春招,有些收获了大厂offer,有些还在苦苦面试,其实那时候的心里还蛮忐忑的,不知道自己大三的时候会是什么样的一个水平,所以从19年的寒假放完,大二下学...

由浅入深,66条JavaScript面试知识点(七)

作者:JakeZhang转发链接:https://juejin.im/post/5ef8377f6fb9a07e693a6061目录...

2024前端面试真题之—VUE篇_前端面试题vue2020及答案

添加图片注释,不超过140字(可选)...

今年最常见的前端面试题,你会做几道?

在面试或招聘前端开发人员时,期望、现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问...