Ответ 1
Если по неизвестному размеру вы подразумеваете, что количество элементов неизвестно, вы можете использовать динамический массив.
Dim aArray() As Single ' or whatever data type you wish to use
ReDim aArray(1 To 1) As Single
If strFirstName = "henry" Then
aArray(UBound(aArray)) = 123.45
ReDim Preserve aArray(1 To UBound(aArray) + 1) As Single
End If
Ubound (aArray) выдает ошибку, если массив не имеет размеров, поэтому мы начинаем с добавления к нему элемента. Это оставляет нам пустой элемент в конце текста, поэтому ваш код должен учитывать это. aArray (Ubound (aArray) -1) даст вам последний действительный элемент в массиве.