добавление значений в переменный массив VBA

Я пытаюсь пройти через table с column для "customers" and "dollar amount". Если мой цикл найдет customer под названием "greg" or "henry" я хочу добавить его "dollar amount" к массиву неизвестного размера.

Может кто-нибудь, пожалуйста, помогите мне?

Ответ 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) даст вам последний действительный элемент в массиве.

Ответ 2

Private Sub ArrayMy(DataRange)
  Dim DataIndex() As String
  i = 0
  On Error Resume Next
  ReDim DataIndex(0)
  For Each c In DataRange
      DataIndex(i) = c
      i = i + 1
      ReDim Preserve DataIndex(i)
  Next
End Sub