📅  最后修改于: 2023-12-03 15:20:57.617000             🧑  作者: Mango
在 VBA 中,可以通过以下方式删除数组元素:
Sub RemoveFromArray()
Dim arr() As String
arr = Split("apple,banana,cherry", ",")
'删除第二个元素(banana)
For i = 1 To UBound(arr)
If arr(i) = "banana" Then
arr(i) = ""
End If
Next i
'重新调整数组大小
arr = Filter(arr, "")
'输出删除后的数组元素
For i = 0 To UBound(arr)
Debug.Print arr(i)
Next i
End Sub
在上面的示例中,我们首先将字符串 "apple,banana,cherry" 拆分为一个名为 arr
的字符串数组。然后,我们使用 For
循环遍历整个数组,查找要删除的元素("banana")。找到后,我们将该元素的值设置为空字符串,从而删除它。
接下来,我们使用 Filter
函数来过滤掉所有空字符串元素。最后,我们使用另一个 For
循环显示已删除的数组元素。
请注意,使用 Filter
函数会调整数组的大小,因此我们必须将调整后的数组赋回给原来的数组变量。
如果要删除数组中的所有元素,我们可以使用 Erase
语句:
Sub RemoveAllFromArray()
Dim arr() As String
arr = Split("apple,banana,cherry", ",")
'删除所有元素
Erase arr
'输出数组元素
For i = 0 To UBound(arr)
Debug.Print arr(i)
Next i
End Sub
上面的示例会将 arr
数组中的所有元素删除,并尝试遍历该数组来显示已删除的元素。结果会导致“下标越界”错误,因为已删除所有元素并且数组变为空。
总结:
For
循环和 Filter
函数删除数组元素。Filter
函数调整数组大小。Erase
语句。