要刪除一個VBA數組中的特定元素,您可以使用以下方法之一:
ReDim
語句重新定義數組的大小,并將要刪除的元素跳過。這將創建一個新的數組,不包含要刪除的元素。以下是一個示例代碼:Sub DeleteElementFromArray()
Dim arr() As Variant
Dim i As Integer
Dim elementToDelete As Variant
Dim newArr() As Variant
' 初始化數組
arr = Array("Apple", "Banana", "Orange", "Mango")
' 要刪除的元素
elementToDelete = "Banana"
' 遍歷數組,創建新的數組,跳過要刪除的元素
ReDim newArr(LBound(arr) To UBound(arr) - 1)
For i = LBound(arr) To UBound(arr)
If arr(i) <> elementToDelete Then
newArr(i - IIf(i > LBound(arr), 1, 0)) = arr(i)
End If
Next i
' 輸出結果
For i = LBound(newArr) To UBound(newArr)
Debug.Print newArr(i)
Next i
End Sub
Filter
函數,該函數返回一個新數組,其中包含不包含要刪除元素的元素。以下是一個示例代碼:Sub DeleteElementFromArray()
Dim arr() As Variant
Dim elementToDelete As Variant
Dim newArr() As Variant
' 初始化數組
arr = Array("Apple", "Banana", "Orange", "Mango")
' 要刪除的元素
elementToDelete = "Banana"
' 使用Filter函數創建新的數組,不包含要刪除的元素
newArr = Filter(arr, elementToDelete, False)
' 輸出結果
Dim i As Integer
For i = LBound(newArr) To UBound(newArr)
Debug.Print newArr(i)
Next i
End Sub
無論使用哪種方法,都可以刪除VBA數組中的特定元素。