系統:Windows 7
軟件:Excel 2016
- 本系列講講數組功能
- 今天說說如何清空數組的內容
Part 1:實現內容
- 有數組arr1,內容為
Array(1, 2, 3, 4)
,增加一個元素成為arr2,如下圖 - 有數組arr3,內容為
[{1,3,5,7,9}]
,清空成為arr4
arr1
1.png
arr2
2.png
arr3
3.png
arr4
4.png
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
代碼截圖
5.png
運行過程數據
6.png
Part 3: 部分代碼解讀
-
temp = arr1
在傳入函數前對使用temp
變量進行賦值,因為函數內部對變量的更改會隨著函數運行結束而返回到調用該函數的過程,也就是會改變其初始值,這不是我想要的,所以使用一個臨時變量,關于該方面可見之前寫過的文章 - 在數組末尾增加元素和上一節方法相同,只是封裝在一個函數中
-
ReDim arr(0)
清空元素,采用Redim重新定義即可,與上一文的區別是:無Preserve。注意采用這種方式,含有的唯一元素取值為空。如果此時向其增加元素,會在空值元素后面增加,而不是頂替空元素
增加元素
7.png
對應代碼
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
更多精彩,請關注微信公眾號
掃描二維碼,關注本公眾號
公眾號底部二維碼.jpg