Здравствуйте,
Помогите найти правильно решение и ошибку
Мне надо на выходе получить словарь в котором был бы массив arr(0 to 1)
в arr(0) надо скопить все скю где есть цифра, в arr(1) - цифры для формулы, т.е. для клиент 1: arr(0) артикул1|артикул4|артикул 6 ; arr(1) 1+2+6
Я написала функцию, у меня загвоздка с объявлением массива в цикле - там выходит ошибка.
Т.е. когда появляется новый клиент значение в arr должно обнуляться - это уже новый массив.
Код |
---|
Sub test()
Set dic = CreateObject("Scripting.Dictionary")
For i = 2 To 9 'перебираем строки-клиентов
distr = Cells(i, 1).Value
For j = 2 To 8 'перебираем столбцы-артикулы
sku = Cells(1, j).Value
If Cells(i, j).Value > 0 Then
If dic.exists(distr) Then
arr = dic.Item(distr)
arr(0) = arr(0) & "|" & sku
arr(1) = arr(1) & "+" & Cells(i, j)
dic.Item(distr) = arr
Else
Dim arr(0 To 1)
dic.Item(distr) = arr
End If: End If
Next
Next
End Sub |