Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Поиск подстроки в массиве
 
Доброго времени суток! Помогите в написании макроса.
Предположим есть массив в 500 значений их надо найти в другом массиве с 2т значений (частичное совпадение).
Если это были range я бы использовал find c LookAt:=xlPart, а для массивов есть что то подобное? Куда копать?
Думаю обычным перебором в 2 цикла с поиском подстроки выйдет довольно долго.
Изначально эти значения я беру из range и модифицирую для поиска.
Что бы не копировать промежуточные значения куда то в жопу листа и не изменять начальные, храню все в массивах.

Пока писал этот текст пришла в голову идея создать отдельный лист с промежуточными значениями а потом удалять его. :D
Но все равно интересно есть ли альтернатива?  
 
Цитата
PonkKonk написал:
Думаю обычным перебором в 2 цикла с поиском подстроки выйдет довольно долго.
откуда такие мысли?
 
Предположим, Вы ознакомитесь с правилами форума и прикрепите к первому сообщению пример...
 
Если поиск по частичному совпадению, то только два цикла по массивам. Но может быть можно как-то оптимизировать, но для этого надо видеть данные. Может быть можно найти какую-нибудь закономерность, которая позволит ускорить макрос. Но может быть двойной цикл быстро отработает - несколько секунд и не надо ничего "мудрить".
Если бы был поиск по полному совпадению, то нужно использовать коллекцию или словарь (кому, что больше нравится), с ними быстрее работать, чем с циклами по массивам.
Страницы: 1
Читают тему (гостей: 1)
Наверх