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   Ваша задача сводится к "куче" проверок при вводе значений. К сожалению, Вы не указали, каким образом значения должны вводиться. Ну, примерно так. |