Основы офисного программирования и язык VBA


Пример 8.5


Public Function WildFilter(sourcearray() As String, ByVal match As String, _

Optional ByVal include As Boolean = True) As Variant

'Эта функция фильтрует элементы исходного массива, проверяя их на соответствие

шаблону match

'В отличие от стандартной функции Filter элементы проверяются на точное

соответствие

'но шаблон match может включать специальные символы шаблона.

'Возвращается массив отобранных элементов. Если булев параметр include

равен True

'то отбираются элементы, совпадающие с шаблоном, в противном случае - не

совпадающие.

Dim Sel() As String

Dim i As Long, j As Long

j = 1

If include Then

For i = LBound(sourcearray) To UBound(sourcearray)

If sourcearray(i) Like match Then

ReDim Preserve Sel(1 To j)

Sel(j) = sourcearray(i): j = j + 1

End If

Next i

Else

For i = LBound(sourcearray) To UBound(sourcearray)

If Not (sourcearray(i) Like match) Then

Sel(j) = sourcearray(i): j = j + 1

End If

Next i

End If

WildFilter = Sel

End Function




Начало  Назад  Вперед



Книжный магазин