我在excel vba中得到两个数组。
Array1 = Array("123", "456", "789", "101112", "131415")
Array2 = Array("789", "101112")
现在我想从Array2中显示的值中剪切第一个数组。结果应该是这样的。
result = Array("123", "456", "131415")
有人知道如何在vba中管理这个吗?
谢谢你的帮助
一个可能的方法是使用 Join
关于 Array1
循环 Array2
在这个字符串上使用 Replace
,然后 Split
字符串返回到一个数组中。类似这样。
Sub sRemoveArray()
Dim Array1 As Variant
Dim Array2 As Variant
Dim strData As String
Dim lngLoop1 As Long
Array1 = Array("123", "456", "789", "101112", "131415")
Array2 = Array("789", "101112")
strData = "@" & Join(Array1, "@")
For lngLoop1 = LBound(Array2) To UBound(Array2)
strData = Replace(strData, "@" & Array2(lngLoop1), "")
Next lngLoop1
If Left(strData, 1) = "@" Then strData = Mid(strData, 2)
Array1 = Split(strData, "@")
End Sub
Regards,