Помогите исправить макрос.
Есть значения, расположенные вразброс по столбцу. Есть макрос, который сравнивает между собой значения двух столбцов ( один исходный, нумерация ячеек в котором раположена вразброс, т.е. идёт 1, потом 9, потом 4, 89, 2 и т.д. ). В соседней ячейке с этой нумерацией есть другое значение ( цена ). И второй столбец, нумерация в котором выставлена вручную ( прогрессией), но правильно : 1, 2, 3, 4, и т.д. ( всего 920 строчек). Так вот макрос сравнивает нумерацию ячеек столбцов и расставляет цену по правильной нумерации ( по возрастанию ). Он сравнивает сверху вниз, от 1 строчки до 96й А как сделать, что-бы он сравнивал снизу вверх, от 96й до 1й ? Дело в том, что бывает нумерация дублируется, например напротив № 5 стоит 23$, а ниже, напротив №5 стоит 28$. А цена ниже - это старая. И получается, макрос выставляет новую цену, а потом её затирает старой.
Сам макрос:
Есть значения, расположенные вразброс по столбцу. Есть макрос, который сравнивает между собой значения двух столбцов ( один исходный, нумерация ячеек в котором раположена вразброс, т.е. идёт 1, потом 9, потом 4, 89, 2 и т.д. ). В соседней ячейке с этой нумерацией есть другое значение ( цена ). И второй столбец, нумерация в котором выставлена вручную ( прогрессией), но правильно : 1, 2, 3, 4, и т.д. ( всего 920 строчек). Так вот макрос сравнивает нумерацию ячеек столбцов и расставляет цену по правильной нумерации ( по возрастанию ). Он сравнивает сверху вниз, от 1 строчки до 96й А как сделать, что-бы он сравнивал снизу вверх, от 96й до 1й ? Дело в том, что бывает нумерация дублируется, например напротив № 5 стоит 23$, а ниже, напротив №5 стоит 28$. А цена ниже - это старая. И получается, макрос выставляет новую цену, а потом её затирает старой.
Сам макрос:
Код |
---|
For i = 3 To 96 ' строки с 3й по 96ю первого столбца For j = 1 To 920 ' строки с 1й по 920ю второго столбца If Cells(j, 2) = Cells(i, 80) Then ' сравнивает первый столб из В и второй из СВ Cells(i, 79) = Cells(j, 1) ' вставляет значения из столбца №1 в №79 End If Next j Next i j = 0 |