Есть табличка с данными (см. пример)
Нужно создать многомерный массив Mass(Магазин, Расходы, Признак статьи, месяц)
на основе этой таблички, только так чтобы в переменные массива попали только уникальные значения.
Чтобы потом без труда вылить данные из массива в другую табличку
С многомерными массивами, увы, не дружу.
Для одномерного массива делал как-то так
rowmax = Cells(Rows.Count, 4).End(xlUp).Row 'в четвёртом столбце искал макс строку
n = rowmax - 4 'отнимал 4 строки, определив количество элементов
Dim mass() As Variant
' ReDim mass2(n, n)
k = 1
j = 4 'данные в столбце Д
'загонял костцентры в массив
For i = 5 To rowmax 'с 5 строки
mass(k) =Cells(i, j).Value 'центр затрат
k = k + 1
Next i
x = k - 1 'последнюю k убираем
'проверка массива на уникальность
For u = 1 To x 'от начала массива до конца
For uu = 1 To u - 1 'от начала массива до предыдущего элемента массива
If mass(u) = mass(uu) Then
mass(u) = "" 'обнулял повторяющиеся значения
End If
Next uu
Next u
Наверняка есть проще способ. прошу провести мне ликбез.
Нужно создать многомерный массив Mass(Магазин, Расходы, Признак статьи, месяц)
на основе этой таблички, только так чтобы в переменные массива попали только уникальные значения.
Чтобы потом без труда вылить данные из массива в другую табличку
С многомерными массивами, увы, не дружу.
Для одномерного массива делал как-то так
rowmax = Cells(Rows.Count, 4).End(xlUp).Row 'в четвёртом столбце искал макс строку
n = rowmax - 4 'отнимал 4 строки, определив количество элементов
Dim mass() As Variant
' ReDim mass2(n, n)
k = 1
j = 4 'данные в столбце Д
'загонял костцентры в массив
For i = 5 To rowmax 'с 5 строки
mass(k) =Cells(i, j).Value 'центр затрат
k = k + 1
Next i
x = k - 1 'последнюю k убираем
'проверка массива на уникальность
For u = 1 To x 'от начала массива до конца
For uu = 1 To u - 1 'от начала массива до предыдущего элемента массива
If mass(u) = mass(uu) Then
mass(u) = "" 'обнулял повторяющиеся значения
End If
Next uu
Next u
Наверняка есть проще способ. прошу провести мне ликбез.