Массив в VBA - это структура данных, которая позволяет хранить набор значений одного типа данных под одним именем переменной. Каждый элемент массива имеет свой индекс (номер), начинающийся с нуля (как правило), и содержит значение определенного типа данных. Достаточно хорошо известно, что для более быстрой работы с кодом в VBA Excel рекомендуется работать с массивами и уже из значения передавать на листы Excel. К примеру, если у вас есть необходимость в том, чтобы определить индексы в массиве, значение в которых совпадает в заданным, то вам может пригодиться функция, описанная ниже. Функция принимает в качестве аргумента массив и значение ячейки, и возвращает новый массив со списком индексов совпадений: Function FindMatches(arr As Variant, val As Variant) As Variant
Dim i, c As Long
ReDim indexArr(0 To 0)
For i = LBound(arr) To UBound(arr)
If arr(i) = val Then
ReDim Preserve indexArr(0 To c)
indexArr(c) = i
c = c + 1
End I