|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.01.2011, 12:54 | #1 |
Регистрация: 28.10.2010
Сообщений: 5
|
Сравнение двух диапазонов и удаление совпадений ПОСТРОЧНО (доработка)
Здравствуйте уважаемые форумчане, подскажите ОПТИМИЗАЦИЮ Макроса, для увеличения скорости его работы. Макрос, который бы сравнивал два диапазона данных (расположенных на соседних листах) и удалял строки из первого диапазона (листа) при выявлении совпадений со вторым диапазоном (листом) С УЧЕТОМ ТОГО, что кол-во ячеек ВСЕГДА РАЗНОЕ, как в первом диапазоне, так и во втором.
Вот примерно то, что нужно, только тут указывается ЖЕСТКИЙ ДИАПАЗОН. Можете ли вы подсказать, как сделать «плавающий», ну например до первой пустой ячейки, или сначала пересчитать кол-во строк (ячеек) и выявить таким способом….. А то в таблицах иногда бывает до 5 тыс. строк, а когда данными заполнено 1 тыс, то соответственно макрос работает в 5 раз дольше. Sub DelDups_TwoLists() Dim iListCount As Integer Dim iCtr As Integer ' Для ускорения работы макроса обновление экрана отключается. Application.ScreenUpdating = False ' Получение числа записей для поиска (список, из которого будут выполняться удаления). iListCount = Sheets("НОВЫЙ").Range("A2:A300").Rows.Count ' Цикл по "главному" списку. For Each x In Sheets("СТАРЫЙ").Range("B2:B300") ' Цикл по всем записям второго списка. For iCtr = 1 To iListCount ' Сравнение следующей записи. ' Для выбора другого столбца замените 1 на номер столбца. If x.Value = Sheets("НОВЫЙ").Cells(iCtr, 1).Value Then ' Если совпало, удалить строку. Selection.EntireRow.Delete ' Увеличение счетчика строк на 1 для учета удаленной строки. iCtr = iCtr + 1 End If Next iCtr Next Application.ScreenUpdating = True End Sub |
26.01.2011, 14:29 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
На планете ответил.
webmoney: E265281470651 Z422237915069 R418926282008
|
26.01.2011, 16:54 | #3 |
Регистрация: 28.10.2010
Сообщений: 5
|
СПАСИБО БОЛЬШОЕ!!!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сравнение двух таблиц | Iskin | Microsoft Office Excel | 3 | 08.12.2010 07:18 |
сравнение двух строк | aza_kaz | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 01.01.2010 23:40 |
Сравнение двух таблиц | scaramangi | Microsoft Office Excel | 0 | 17.09.2009 17:15 |
сравнение двух баз. | Layk | Microsoft Office Access | 2 | 04.06.2009 23:37 |
Нахождение совпадений в двух книгах | Professor Hubert | Microsoft Office Excel | 5 | 25.07.2008 12:59 |