|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.07.2011, 17:02 | #1 |
Новичок
Джуниор
Регистрация: 10.07.2011
Сообщений: 3
|
Поиск части значения в одном из файлов
К сожалению под рукой нет самого кода.
Суть проблемы. Есть код, который открывает 2 файла. 1 файл - шаблон, 2-файл с данными. Код должен искать в файле данных во 2 столбце, строки с 15 по 60, ячейки, которые содеражат часть текста - "контр". Если ячейка содержит такой текст, то в эту же строку, в которой найдена ячейка, но в столбцы 23,24,25 копируются 3 ячейки из шаблона (они всегда одинаковы). Проблема в том, что поиск ячеек и копирование информации происходит не в тот файл. скрит примеерно такого плана: set shablon=openworkbook..... set wbsrc=openworkbook..... for k=15 to 60 if not Range(cells(k,2);cells(k,2)).find(" контр",,,xlpart) is nothing then shablon.worksheet("рус").range("r13 :t13").copy activeworksheet.range.(cells(k,2);c ells(k,2)).paste endif next С таким кодом все действия производятся с книгой, в которой находится макрос, а не с нужным файлом. Как это испарвить? |
10.07.2011, 17:25 | #2 |
Форумчанин
Регистрация: 22.06.2011
Сообщений: 325
|
Замените
activeworksheet.range.(cells(k,2);c ells(k,2)).paste На wbsrc.range.(cells(k,2);c ells(k,2)).paste
Заказать макрос можно на сайте http://excel4you.ru/
|
10.07.2011, 17:35 | #3 | |
Новичок
Джуниор
Регистрация: 10.07.2011
Сообщений: 3
|
Цитата:
А как сделать чтобы поиск шел по нужной мне книге, а не по той из котрой запущен макрос? |
|
10.07.2011, 17:38 | #4 | |
Форумчанин
Регистрация: 22.06.2011
Сообщений: 325
|
Цитата:
wbsrc.sheets(1).range.(cells(k,2);c ells(k,2)).paste Где индекс Sheets(1) меняете на номер листа где ищете
Заказать макрос можно на сайте http://excel4you.ru/
|
|
10.07.2011, 17:52 | #5 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
Может, как-то так?
Код:
|
10.07.2011, 18:09 | #6 | |
Новичок
Джуниор
Регистрация: 10.07.2011
Сообщений: 3
|
Цитата:
А можно как-то исправить ситуацию в исходном коде, например, используя activate? |
|
10.07.2011, 18:45 | #7 | |
Форумчанин
Регистрация: 22.06.2011
Сообщений: 325
|
Цитата:
set shablon=openworkbook..... set wbsrc=openworkbook..... for k=15 to 60 if not Range(cells(k,2);cells(k,2)).find(" контр",,,xlpart) is nothing then shablon.worksheet("рус").range("r13 :t13").copy wbsrc.Activate activeworksheet.range.(cells(k,2);c ells(k,2)).paste endif next
Заказать макрос можно на сайте http://excel4you.ru/
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверка части текста и присвоение значения | lexref | Microsoft Office Excel | 5 | 16.09.2010 13:23 |
Как отправит на E-mail Несколько файлов в одном письме? | dolphin705 | Работа с сетью в Delphi | 11 | 14.07.2010 23:11 |
отсортировать по условию возрастания модуля отклонения их дробовой части от значения 0,5 | MIKE11IPME | Помощь студентам | 4 | 04.05.2010 16:01 |
Замена части значения ячейки | maksim_serg | Microsoft Office Excel | 4 | 26.03.2010 12:21 |
Несколько файлов в одном архиве | boostman | Общие вопросы Delphi | 1 | 06.12.2009 11:22 |