Другое решение для проверки пустого массива
if UBound(ar) < LBound(ar) then msgbox "Your array is empty!"
Или, если вы уже знаете, что LBound равен 0
if -1 = UBound(ar) then msgbox "Your array is empty!"
Это может быть быстрее, чем join (). (И я не проверял с отрицательными показателями)
Вот мой пример фильтрации 2-х строковых массивов, чтобы они не разделяли одинаковые строки.
' Filtering ar2 out of strings that exists in ar1
For i = 0 To UBound(ar1)
' filter out any ar2.string that exists in ar1
ar2 = Filter(ar2 , ar1(i), False)
If UBound(ar2) < LBound(ar2) Then
MsgBox "All strings are the same.", vbExclamation, "Operation ignored":
Exit Sub
End If
Next
' At this point, we know that ar2 is not empty and it is filtered
'