微信公众号原文
系统:Windows 7
软件:Excel 2016
- 本系列讲讲数组功能
- 今天说说如何清空数组的内容
Part 1:实现内容
- 有数组arr1,内容为
Array(1, 2, 3, 4)
,增加一个元素成为arr2,如下图 - 有数组arr3,内容为
[{1,3,5,7,9}]
,清空成为arr4
arr1
arr2
arr3
arr4
Part 2: 代码
Sub main()
Dim arr1()
arr1 = Array(1, 2, 3, 4)
ele = 5
temp = arr1
arr2 = arrAppend(temp, ele)
arr3 = [{1,3,5,7,9}]
temp = arr3
arr4 = arrClear(temp)
UCount = UBound(arr4)
LCount = LBound(arr4)
If IsEmpty(arr4(0)) Then
Debug.Print ("空")
End If
End Sub
Function arrAppend(arr, ele)
UCount1 = UBound(arr)
LCount1 = LBound(arr)
' 增加元素
' 先扩大数组范围,再赋值新元素
ReDim Preserve arr(LCount1 To UCount1 + 1)
arr(UCount1 + 1) = ele
arrAppend = arr
End Function
Function arrClear(arr)
ReDim arr(0)
arrClear = arr
End Function
代码截图
运行过程数据
Part 3: 部分代码解读
-
temp = arr1
在传入函数前对使用temp
变量进行赋值,因为函数内部对变量的更改会随着函数运行结束而返回到调用该函数的过程,也就是会改变其初始值,这不是我想要的,所以使用一个临时变量,关于该方面可见之前写过的文章 - 在数组末尾增加元素和上一节方法相同,只是封装在一个函数中
-
ReDim arr(0)
清空元素,采用Redim重新定义即可,与上一文的区别是:无Preserve。注意采用这种方式,含有的唯一元素取值为空。如果此时向其增加元素,会在空值元素后面增加,而不是顶替空元素
增加元素
对应代码
Sub main()
Dim arr1()
arr1 = Array(1, 2, 3, 4)
ele = 5
temp = arr1
arr2 = arrAppend(temp, ele)
arr3 = [{1,3,5,7,9}]
temp = arr3
arr4 = arrClear(temp)
UCount = UBound(arr4)
LCount = LBound(arr4)
If IsEmpty(arr4(0)) Then
Debug.Print ("空")
End If
ele = 5
temp = arr4
arr5 = arrAppend(temp, ele)
End Sub
- 更多学习交流,可加小编微信号
learningBin
更多精彩,请关注微信公众号
扫描二维码,关注本公众号