Excel-VBA-數組-05-數組清空

微信公眾號原文

系統:Windows 7
軟件:Excel 2016

  • 本系列講講數組功能
  • 今天說說如何清空數組的內容

Part 1:實現內容

  1. 有數組arr1,內容為Array(1, 2, 3, 4),增加一個元素成為arr2,如下圖
  2. 有數組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: 部分代碼解讀

  1. temp = arr1在傳入函數前對使用temp變量進行賦值,因為函數內部對變量的更改會隨著函數運行結束而返回到調用該函數的過程,也就是會改變其初始值,這不是我想要的,所以使用一個臨時變量,關于該方面可見之前寫過的文章
  2. 在數組末尾增加元素和上一節方法相同,只是封裝在一個函數中
  3. 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
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。