Для работы я работаю с массивами, в которых я храню цены на запчасти. Идея состоит в том, что у меня есть массив с разными номерами деталей, закодированными в несколько цифр, я захожу в книгу Excel, где хранятся все детали и их цены, и ищу эти коды по одному. Как только код найден, я просто делаю «смещение», чтобы получить цену в евро и в долларах, и заполняю другой массив этими ценами.
Моя проблема в том, что когда массив с номерами деталей получает только одинномер детали, я не могу «переопределить» массив как массив 1x2 ...
См. комментарии в следующем коде (да, я решил начать массивы с 1, а не с 0,в этом случае это намного удобнее)
Dim ToolPrices() As String
ReDim ToolPrices(1 To UBound(ToolTab()), 1 To UBound(ToolTab())) 'Normally, if "ToolTab()" is a 1x1 array, TooLPrices should be a 1x2 array... But no, it's a 1x1
[Later on in the code]
Tempo = ActiveCell.Offset(0, 2) 'gets the euro price
' the variable PositionPoint is the pointer for the "for" loop passing through all the arrays
If PositionPoint > UBound(ToolPrices(), 1) Then 'for avoiding to reduce the size of the Array and loosing data
ReDim Preserve ToolPrices(1 To 2, 1 To PositionPoint)
End If
ToolPrices(1, PositionPoint) = Tempo
Tempo = ActiveCell.Offset(0, 5) 'gets the dollard price
If PositionPoint > UBound(ToolPrices(), 2) Then 'for avoiding to reduce the size of the Array and loosing data
ReDim Preserve ToolPrices(1 To 2, 1 To PositionPoint)
End If
ToolPrices(2, PositionPoint) = Tempo 'In case of a 1x1 array with the parts numbers, this bugs as it is a 1x1 array in which I try to put something in the second line
Я долго безуспешно искал ...
Я думаю, у ReDim ToolPrices(1 To UBound(ToolTab()), 1 To UBound(ToolTab()))
возникла проблема ... ИЛИIf PositionPoint > UBound(ToolPrices(), 2) Then
ReDim Preserve ToolPrices(1 To 2, 1 To PositionPoint)
End If
, к которому нет доступа как UBound(ToolPrices(), 2) = 1
, когда я ожидал бы 0, или "Пусто", или "", или ошибку, или что-либо, кроме 1, поскольку второго измерения не существует ...
Заранее благодарим за помощь!