Добрый день!
Прошу помочь в оптимизации кода. У меня только базовые знания VBA, поэтому буду признателен за помощь.
Суть проблемы (gопробую объяснить словами):
Имеется таблица с данными на листе AllData.
Количество строк данных - порядка 100 тыс. и обновляется, количество столбцов - 35. Начало таблицы со второй строки листа.
В ячейках А1 и B1 имеются текстовые значения. Необходимо каждую строку таблицы (по столбцам А и В) сравнить на соответствие условиям: An=A1 или Bn=A1 или An=B1 или Bn=B1, где n - номер строки, и после этого скопировать строки, которые удовлетворяют условиям, на другой лист Sort.
На данный момент в макросе используется цикл вида:
Проблема в том что цикл в таком виде занимает достаточно много времени и хотелось бы его уменьшить в несколько раз.
Заранее признателен за помощь.
Прошу помочь в оптимизации кода. У меня только базовые знания VBA, поэтому буду признателен за помощь.
Суть проблемы (gопробую объяснить словами):
Имеется таблица с данными на листе AllData.
Количество строк данных - порядка 100 тыс. и обновляется, количество столбцов - 35. Начало таблицы со второй строки листа.
В ячейках А1 и B1 имеются текстовые значения. Необходимо каждую строку таблицы (по столбцам А и В) сравнить на соответствие условиям: An=A1 или Bn=A1 или An=B1 или Bn=B1, где n - номер строки, и после этого скопировать строки, которые удовлетворяют условиям, на другой лист Sort.
На данный момент в макросе используется цикл вида:
Код |
---|
For i=2 To Last (номер последней строки) if An=A1 or Bn=A1 or An=B1 or Bn=B1 Then копирование строки на новый лист End If Next i |
Заранее признателен за помощь.