VBAの配列から特定の要素を削除する方法
VBA配列の特定の要素を削除するには、以下の方法のいずれかを使用できます。
- 再配列
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
- フィルター
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の配列から特定要素を削除できます。