Private
Sub
RemoveElementFromArray1D(Expression
As
Variant
, _
ByRef
Array1D
As
Variant
,
Optional
count
As
Long
)
Dim
i
As
Long
, n
As
Long
If
IsEmpty(Array1D)
Or
IsNull(Array1D)
Then
Array1D = Split(Empty)
ElseIf
Not
IsArray(Array1D)
Then
If
InStr(1, Array1D, Expression, vbTextCompare)
Then
Array1D = Split(Empty)
Else
Array1D = Array(Array1D)
End
If
Else
i = LBound(Array1D)
<strong>
Do
While
i <= UBound(Array1D)
If
InStr(1, Array1D(i), Expression, vbTextCompare)
Then
If
count <= 0
Or
n < count _
Then
n = n + 1
ElseIf
n > 0
Then
Array1D(i - n) = Array1D(i)
End
If
i = i + 1
Loop
If
n > 0
Then
If
LBound(Array1D) <= UBound(Array1D) - n
Then
ReDim
Preserve
Array1D(LBound(Array1D)
To
UBound(Array1D) - n)
Else
Array1D = Split(Empty)
End
If
End
If
</strong>
End
If
End
Sub