vba数组怎么删除某个元素

avatar
作者
猴君
阅读量:8

要删除一个VBA数组中的特定元素,您可以使用以下方法之一:

  1. 使用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 
  1. 使用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数组中的特定元素。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!