У меня есть программа настройки, чтобы выложить конкретное резюме.Теперь я хочу взять эту программу и разрешить ей принимать введенные пользователем диапазоны.У меня это до двух уровней, но мне концептуально сложно идти дальше, хотя я использую трехмерный массив для хранения значений.
Вдали от рабочего компьютера, но это что-то вроде
Dim array1(3) As String 'Fill it with some values like Group1, Group2, Group3...
Dim array2(4) As String 'Again the next level with some values like NY, PA,..., Total
Dim arVal(3,5,4) as Long 'For each Group 1, it will summarize 5 fields for each item in arr2
For i = LBound(array1) To UBound(array1)
Autofilter based on array1
For j = LBound(array2) to UBound(array2)
If Not j = 4
Autofilter based on array2
EndIf
arVal(i, 0, j) = Value
arVal(i, 1, j) = Value
...
Next j
Next i
У меня есть одна идея - использовать связанные списки, где будет 1-й список, где каждый последующий список будет связан с каждым узлом в списке.Единственная проблема в том, что я только концептуально узнал о связанных списках в C ++, поэтому, хотя это может быть решением, я понятия не имею, как реализовать это в VBA.
Добавление:
array1 = {Группа 1, Группа 2, .... Всего}
array2 = {Северо-восток, Запад, Юго-Восток ....}
arVal (1, 1, 1) = Для всех людейв группе 1 в северо-восточном регионе сумма купленного картофеля (значение 1)
arVal (1, 1, 2) = для всех людей в группе 1 в северо-восточном регионе уникальное количество людей (значение 2)
и затем он переходит к
arVal (1, 2, 1) = Для всех людей в группе 1 в регионе WEST сумма картофеля ....
и так далее, так что для каждой группы я хочу обобщить каждый из регионов в этой группе.
Проблема возникает, если я хочу динамически добавлять больше подкатегорий под регионами.
Итак, я думаю, что основной вопрос, если дать целое число, создать вложенный цикл, равный этому целому числу, такой:
If i = 2
{ For Each item in Group
For Each item in Regions
some function
}
If i = 3
{ For Each item in Group
For Each item in Regions
For Each item in NextSubcategory
some function
}
Хотя я мог бы ограничить количество подкатегорий, которые можно было бы перейтии использовать оператор switch, программа будет более устойчивой, если будет динамической.Плюс надвигающаяся аневризма, если я попытаюсь использовать многомерные массивы для хранения значений.