excel vba与字符串数组有关的三个函数

时间:2022-05-23 21:13:03 

Split函数
返回一个下标从零开始的一维数组,它包含指定数目的子字符串。
Split(字符串[, 分隔符[, 要返回的子字符串数量[,比较方式]]])
后三项可选,默认:分隔符为空格,返回全部子字符串,用Option Compare语句中的设置值执行比较。
下面是将1-12转化为一月-十二月的自定义函数的例子。
Function Num2ch(ByVal n As Integer) As String
Dim Arr
Arr = Split(",一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月", ",")
Num2ch = Arr(n)
End Function
和Array函数相比,用Split的好处在于生成的数组是字符型的,写法上也更简洁。注意“一月”前的逗号,这是因为Split生成的数组下标是从0开始的,且不受Option Base句的影响。

Join函数
返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。
Join(源数组[,分隔符])
默认:分隔符为空格
当将分隔符设为空串(””)时,会返回一个各数组元素会直接相连的字符串。
该函数是Split函数的反函数,它是将数组转化为字符串。Join和Split相配合,可用于扩充控件TAG属性的传递数量;在不定参数的传递时,可使代码看起来更简洁。
下面只是它们配合的示例,并不是这儿真有必要这样做:
Sub aMain()
Dim arr(1 To 2), s$
arr(1) = 1: arr(2) = 2
s = Join(arr, ",")
Debug.Print Myadd(s)
End Sub
Function Myadd(ByVal s As String)
Dim arr, x
arr = Split(s, ",")
For Each x In arr
Myadd = Myadd + Val(x)
Next x
End Function

Filter函数
返回一个下标从零开始的数组,该数组包含基于指定筛选条件的一个字符串数组的子集。
Filter(源数组,要搜索的字符串[,返回子串包含还是不包含要搜索字符串[,比较方式]])
如果在源数组中没有发现与要搜索的字符串相匹配的值,Filter返回一个空数组。如果源数组是Null或不是一个一维数组,则产生错误。
注意是“包含”要搜索的字符串,而不是“等于”要搜索的字符串。这意味着,如果一数组元素为字符串“AB”,用“A”、“B”、“AB”中的任何一个去搜索(上面第三个参数为默认值True),都会作为新的数组的元素被返回。但这并不影响你创造成“包含”等同于“等于”的条件,或者数据本身就符合这一要求的条件。在“包含”等同于“等于”的数组中,我们可以用下面的办法来判断一个字符串是否属于某个数组。
If UBound(Arr) = UBound(Filter(Arr, "要找的字符串", False)) Then ‘说明在数组Arr中找不到

标签:函数,字符串,数组,返回,Excel函数
0
投稿

猜你喜欢

  • 在excel中怎么使文字颠倒顺序反过来显示呢?

    2022-10-09 14:10:35
  • 5、接下来就需要注意了

    2023-11-03 18:16:58
  • 如何利用Word 2007制作倒写的"福"字

    2023-12-11 01:40:19
  • Excel剪贴板怎么打开,excel剪贴板的作用是什么,来来来,一起看看本文的案例,你是否能够学到些东西

    2023-01-23 07:40:38
  • Excel2013如何把多个文件合并到一个Excel文档里

    2022-11-09 15:43:39
  • 如何在word文档中插入带标记的文本框

    2023-01-06 22:16:19
  • win10怎么更新?win10更新常见问题教程?

    2023-09-03 08:25:44
  • word文档如何排版才能美观大方?

    2023-03-09 18:12:08
  • 在Word中特殊符号居然这么简单

    2022-02-25 17:30:14
  • Excel中与对象相关的几个快捷键

    2023-03-22 20:37:41
  • 数据透视表准备工作:填充excel空白单元格的方法

    2022-01-27 02:11:47
  • 专业增强版 2019 激活方法,完美成功图解教程

    2023-11-02 06:45:17
  • Excel如何将两类数据绘制在同一张图上

    2022-07-11 21:51:25
  • Excel表格打印的方法与技巧

    2022-08-07 12:11:23
  • Excel表格怎么取消超链接

    2023-04-02 20:32:25
  • 如何使用"自动图文集"让Word也妙语连珠

    2023-03-13 09:23:34
  • 如何把100个excel进行合并的教程

    2022-07-29 07:02:52
  • Win10怎么删除系统自带输入法的记忆?系统输入法清除记忆步骤

    2023-01-15 05:56:19
  • word文字消失了打完字以后找不到了该怎么办?

    2022-04-07 19:33:15
  • 巧用WPS表格"秒"建目录群

    2023-12-01 20:53:11
  • asp之家 电脑教程 m.aspxhome.com