Когда вы говорите dim arrArr (), массив не имеет границ.Вы должны повторить его на номер, который вы хотите.если вы хотите сохранить существующие элементы, вам нужно ключевое слово preserve.Вы можете добавить часы и пройтись по коду, чтобы увидеть, что происходит на каждом шаге.
Попробуйте это:
Dim arrArr() As Variant
ReDim arrArr(0) 'make an array with 1 item
If sheetIsFound Then
sheetsFound = sheetsFound + 1
ReDim Preserve arrArr(0 To (UBound(a) + 1)) 'add an index to the array
arrArr(UBound(a)) = arrayOfTheSheet ' add the array to the new index in arrArr
End If
Чтобы получить доступ к массивам, используйте синтаксис arrArr (0), arrArr(1) и т. Д.
На этой странице есть несколько примеров, если вам нужна дополнительная помощь: http://www.brainbell.com/tutors/Visual_Basic/Arrays.htm