Попытка проверить столбец один для значения (столбец в многомерном массиве, который есть), и если он соответствует сортировке другого столбца для значения, соответствующего этой строке.Многомерные массивы с петлями VBA
Я думаю, что я делаю это неправильно, но это первый раз, когда я возился с многомерными массивами.
Должен ли я использовать UBound и LBound в каждом цикле для того, чтобы рассказать ему, какой колумбу просмотреть?
Я не заинтересован в изучении метода наилучшей практики для использования этого в будущем, кроме всего лишь ответа/решения, которое он представляет собой текущую проблему.
Код:
Private Sub ThisStuff()
Dim CoaAmt As Long
Dim COAArray(3, 2)
Dim ThisValue As String
Dim AnotherValue As String
AnotherValue = "Bananas"
ThisValue = "Apples"
COAArray(0, 0) = "Apples"
COAArray(1, 0) = "Oranges"
COAArray(2, 0) = "Peaches"
COAArray(3, 0) = "Pomegranets"
COAArray(0, 1) = 498
COAArray(0, 1) = 505
COAArray(1, 1) = 564
COAArray(1, 2) = 556
COAArray(2, 1) = 570
COAArray(2, 2) = 573
COAArray(3, 1) = 742
COAArray(3, 2) = 750
If AnotherValue = "Bananas" Then
For i = COAArray(0, 0) To COAArray(3, 0)
For j = COAArray(1, 0) To COAArray(3, 2)
If COAArray(i, j) = ThisValue Then CoaAmt = COAArray(i, j)
Next j
Next i
End If
MsgBox ("The value of CoaAmt is " & CoaAmt)
End Sub
Я думаю, что вам нужны методы 'LBound' и' UBound', которые возвращают нижнюю/верхнюю границу массива: 'Для i = LBound (COAArray) To UBound (COAArray)' –