阅读量:8
要删除一个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数组中的特定元素。