Страница: 1 |
Вопрос: Создание аналога функции VlookUp (ВПР) | Добавлено: 24.10.07 12:50 |
Автор вопроса: ![]() |
Пишу функцию, которая берет в одном листе из таблицы два значения: 1)уникальный номер запасной части насоса, 2)тип насоса и ищет во втором листе это значение. Сначала функция должна найти где на 2 втором листе находится таблица с требуемым типом насоса, а затем найти описание конктреной запасной части.
Вопрос следующий, когда я пытаюсь активировать в функции 2 лист Sheets(2).Activate для того чтобы найти искомую таблицу с данными конкретного насоса - Excel не хочет этого делать.
Подскажите как нужно правильно в функции описывать поиск чтобы находился FoundPump на любом другом листе. Вроде этого Set FoundPump = Cells.Find(PumpType, , LookIn:=xlValues)
P.s. В процедуре все шуршит, а в функции - никак |
Ответы | Всего ответов: 2 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 185 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 24.10.07 15:26 |
В функции (если ее предполагается использовать в качестве функции листа) нужно избегать Activate и Select - с ними не будет работать (ну не будет Excel перелистывать листы и менять выделения областей во время каджого пересчета формул... и это правильно).
Попробуйте так: Set FoundPump = Sheets(2).Cells.Find(PumpType, , LookIn:=xlValues)
|
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 15 Ответов: 30 |
Профиль | Цитата | #2 | Добавлено: 25.10.07 10:55 |
Спасибо. Разобрался. |
Страница: 1 |
|