У меня есть словарь VBA с парами ключ: значение. Ключом является имя животного, а значением является массив массивов, который выглядит следующим образом: [[килограмм съедено], [килограмм получено]]. Я пытаюсь изменить размеры внутренних массивов, чтобы я мог добавлять элементы в эти массивы с помощью цикла. Документация указывает, что «Чтобы изменить размер массива, содержащегося в Variant, вы должны явно объявить переменную Variant, прежде чем пытаться изменить размер ее массива». Я сделал это ранее в коде, но у меня все еще есть синтаксическая ошибка.
With animalDict
'Check if the animal is already in the dict
'If not, create a key:value entry that is equal to (animal name):[[kilos eaten],[kilos gained]]
If Not .Exists(animalName) Then
ReDim kilosEatenArr(0)
ReDim kilosGainedArr(0)
ReDim outerArr(1)
kilosEatenArr(0) = kilosEatenCount
kilosGainedArr(0) = kilosGainedCount
outerArr(0) = kilosEatenArr
outerArr(1) = kilosGainedArr
.Add Key:=animalName, Item:=outerArr
Else
outerArr = .Item(animalName)
ReDim Preserve outerArr(0)(LBound(outerArr(0)) To UBound(outerArr(0)) + 1) 'Sytnax error here
ReDim Preserve outerArr(1)(LBound(outerArr(1)) To UBound(outerArr(1)) + 1) 'Another sytnax error here
kilosEatenArr(UBound(kilosEatenArr)) = kilosEatenCount
kilosGainedArr(UBound(kilosGainedArr)) = kilosGainedCount
outerArr(0) = kilosEatenArr
outerArr(1) = kilosGainedArr
animalDict(animalName) = outerArr
End If
End With