SAS888
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Mantisby Задача, на мой взгляд, оказалась интереснее, чем я думал. Есть "куча" способов, как это реализовать. Но... Вы говорите, что Цитата: поэтому выполнение операций непосредственно с ячейками листа, используя CountIf, CountA, Sort и т.п., может занять много времени. В предлагаемом решении значения ячеек столбцов "A" и "B" одной командой загоняются в массив, затем производятся все необходимые операции, а затем, также одной командой значения ячеек столбцов "A" и "B" заменяются на значения "переработанного" массива. У меня нет примера файла с большим количеством данных (формировать его не хочется). Проверьте на своем. По-моему, должно выполняться быстро. Вот файл. Запустите макрос "Main". Добавлено: TXP При написании кода, без необходимости не используйте метод Select. В Вашем случае, можно так: Код: With Sheets("Данные") .Cells(.[T4], .[Q4]) = Sheets("Ввод").Range("I2") End With | Обратите внимание, что в ячейке "T4" хранится номер строки, а в "Q4" - столбца. Это я на всякий случай, т.к. у Вс в коде обращение к ячейке записано как Cells(c, r), где с - строка, r - столбец. Привычнее, когда r - строка (row), а с - столбец (column). Добавлено: xellga Ваша задача сводится к "куче" проверок при вводе значений. К сожалению, Вы не указали, каким образом значения должны вводиться. Ну, примерно так. |