网站首页 > 基础教程 正文
大家好,我们今日继续讲解VBA代码解决方案的第61讲内容:在VBA中如何使用动态数组,以及利用动态数组去除重复值的方法。在上一讲中我们讲了使用数组函数将单元格中的文本进行分隔后写入到工作表中的方法,那么问题来了,如果文本中含有大量的重复值,在写入时也会将重复值写入到工作表中,此时,如果我们要剔除重复值,该怎么办?用VBA的方法该如何做到呢?我在这讲和下一讲中将解答这个问题,并提供给读者一个可以测试的实例。今日先讲这个内容要用到的知识点。
一 :Filter函数:这个函数返回一个下标从零开始的数组,该数组包含基于指定筛选条件的一个字符串数组的子集,语法如下:
Filter(sourcesrray, match[, include[, compare]])
参数
a) sourcesrray是必需的,要执行搜索的一维字符串数组。
b) match是必需的,要搜索的字符串。
c) include是可选的,Boolean值,表示返回子串是否包含match字符串。如果参数include是True,Filter函数返回的是包含match参数子字符串的数组子集。如果参数include是False,Filter函数返回的是不包含match参数子字符串的数组子集。
d) compare是可选的,所使用的字符串比较类型。
二:ReDim语句,这个语句在过程级别中使用,用于为动态数组变量重新分配存储空间,语法如下:
ReDim [Preserve] varname(subscripts) [As type] [, varname(subscripts) [As type]]
参数
a) Preserve是可选的,关键字,当改变原有数组最末维的大小时,使用此关键字可以保持数组中原来的数据。
b) varname是必需的,变量的名称。
c) subscripts是必需的,数组变量的维数,最多可以定义 60 维的多维数组,使用下面的语法;[lower To] upper [,[lower To] upper]
讲到这里,有的人会提出这样的问题,什么是过程呢?有兴趣的朋友可以看我之前写的一篇文章:什么是宏?什么是过程?这里定义更为精确的给出:那么什么是过程呢?就是将输入转化为输出的一组活动。在VBA中过程两种一是Sub过程和Function函数过程。也就是说每组开始为SUB的活动都是一个过程,或者说每组开始为Function的活动也都是一个过程。ReDim语句就是在这个级别使用语句。
今日内容回向:
1: Filter函数的作用是什么?
2:ReDim语句的作用是什么?
3 什么是过程?
猜你喜欢
- 2024-10-18 一对多查询,Vlookup,Filter,Textjoin公式,你喜欢哪种
- 2024-10-18 Excel函数:office 365新增筛选函数FILTER的打开方式
- 2024-10-18 Excel VBA:掌握数组使用技巧,高效处理数据
- 2024-10-18 Excel中CHOOSECOLS+FILTER函数组合有妙用,新手必备!
- 2024-10-18 鸟枪换大炮,Excel查找的另一个函数——Filter函数
- 2024-10-18 Excel数组公式与自动溢出 excel数组公式与自动溢出的区别
- 2024-10-18 学习VBA,报表做到飞 第二章 数组 2.6 清空数组与嵌套数组转换
- 2024-10-18 spring boot 如何统一处理 Filter、Servlet 中的异常信息
- 2024-10-18 前端开发中操作数组最常用的16个方法
- 2024-10-18 FILTER函数一对多筛选 filter过滤多个条件
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)