Поиск фразы "Товар (Услуга)" в счетах на оплату функцией .Find

Автор GWolf, 06.09.2018, 15:20

« назад - далее »

GWolf

Добрый день, друзья!
В архиве пример.
Задача: В папке находятся файлы - Счета на оплату. Нужно открыть каждый файл и найти в нем блок "Товар (Услуга)"
Решение: Использовал функцию Find. Но, увы. Если при первом открытии файла со счетом все находит и показывает, то при открытии последующих файлов говорит, что ничего не нашла. Хотя должна бы найти.
Знаю, что решение есть. Но, моих знаний не хватает. Вот и обращаюсь к вам, друзья.
Помогите разобраться.

Спасибо!
Путей к вершине - множество. Этот один из многих!

boa

Добрый день,
Много правок сделал, поэтому лучше смотрите в файле.
А вкратце:
1. основная ошибка - работая с несколькими файлами, игнорируете абсолютные ссылки;
2. непосредственно по Финду - не надо заставлять его бегать по всему листу, если можно обратиться лишь к пользовательскому диапазону Usedrange;
3. используйте Option Explicit, что бы правильно объявлять переменные и не лишним будет очищать все объектные переменные перед окончанием работы функции.
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

vikttur

Цитата: GWolf от 06.09.2018, 15:20
Решение: Использовал функцию Find. Но, увы.
Если "увы" - зачем указывать функцию в названии темы? А вдруг с ней не получится? Без решения оставаться?
Название должно отражать суть задачи.

По задаче: может быть, данные загонять в массив и там искать (пример не смотрел)

GWolf

Доброго времени суток, друзья!
Воспользовался советом мудрого boa
Цитата: boa от 06.09.2018, 16:40
лучше смотрите в файле.
В итоге все заработало. Помог мне и уважаемый vikttur.
Спасибо вам!

На скрепке прикладываю то, что получилось.
Путей к вершине - множество. Этот один из многих!