Я думаю, что лучший способ понять это - посмотреть, как это происходит. Вы действительно не предоставили много контекста в своем посте, поэтому я просто предполагаю, что вы просто не понимаете, что на самом деле происходит.
Итак, (x, y) - это ваш многомерный массив, где x - строки, а y - столбцы, верно?
Так что, если бы вы вручную присваивали им значения, вы бы сделайте это так (организовано визуально, никогда не используйте разделители команд).
arr(0,0)="this": arr(0,1)="that" : arr(0,2)="other"
arr(1,0)="this": arr(1,1)="that" : arr(1,2)="other"
arr(2,0)="this": arr(2,1)="that" : arr(2,2)="other"
Это порядок, в котором циклы присваивают им значения, сверху вниз, слева направо. Здесь, на мой взгляд, следует указать еще одну вещь:
from 0 to UBOUND(array, dimension)
Я думаю, что это лениво. Я думаю, что его лучше лучше полностью определить, например:
from LBOUND(array, dimension) to UBOUND(array, dimension)
Но полностью зависит от вас.
Надеюсь, это поможет вам.