|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.05.2010, 13:58 | #1 |
Регистрация: 27.05.2010
Сообщений: 3
|
проблема копирования данных между Книгами Excel
Здравствуйте, многоуважаемые Гуру!
Писал макрос в екселе, возникла следующая проблема: Суть макроса: открыть документ на выбор пользователя, взять значение ячейки, найти в исходном документе. Если есть, взять значение следующей ячейки; если нет - скопировать в первую свободную строку исходного документа 3 ячейки из открытого документа. и так далее, пока в открытом документе не появится пустая строка (ячейка). Макрос написал (естественнно криво, ибо только учусь), и он работает, НО когда обработка доходит до 30-го элемента получаю ошибку: Код:
Вот сам код макроса: Код:
P.S. если подскажете как правильно проверять результат поиска тоже буду весьма благодарен Последний раз редактировалось irbis_triffle; 27.05.2010 в 14:00. |
27.05.2010, 14:28 | #2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
Когда выскакивает ошибка, и вы нажимаете кнопку Debug в сообщении об ошибке, какая строка кода подсвечивается желтым? Скорее всего, ошибка в этой строке: Код:
Если же ячейка не найдена, метод .Activate выдаст ошибку - посколько невозможно активировать несуществующую ячейку. Надо делать проверку - найдена ячейка, или нет, и лишь потом производить дальнейшие действия. Из какого приложения запускается макрос? Из Excel или Word? Если всё происходит исключительно в Excel, то половину кода можно убрать - зачем создавать ещё один экземпляр приложения Excel, если у вас уже открыт Excel... Мало что понял из вашего макроса, но я бы написал код примерно так: Код:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 27.05.2010 в 14:43. |
|
27.05.2010, 14:30 | #3 |
Регистрация: 27.05.2010
Сообщений: 3
|
подсвечиваются 3 строки:
Код:
стрелка стоит напротив последней из трех |
27.05.2010, 14:38 | #4 |
Регистрация: 27.05.2010
Сообщений: 3
|
Прикрепил файлы - исходник - файл в котором работает макрос, new_data - файл с новыми данными
Единственное что отличает ячейку, на которой возникает ошибка, от остальных - её значение 7107 (а все предыдущие 4***), сильно большая величина? переменная не понимает больше 4700?? АА!!!! проверил свою теорию - изменил в новом файле значения ячеек сравнения с 7*** на 4*** - макрос отработал еще эти значения и опять уперся в ошибку при попытке поиска значения 7*** Почему переменная не понимает значений свыше 5000?? Последний раз редактировалось irbis_triffle; 27.05.2010 в 14:55. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с автоматическим преобразованием типа данных в Excel | kovalevskivf | Microsoft Office Excel | 0 | 20.05.2010 01:25 |
Проблема при работе с несколькими книгами | JJill | Microsoft Office Excel | 0 | 25.03.2010 18:40 |
Обновление связей между 2-мя и более книгами | Quatro_Drive | Microsoft Office Excel | 5 | 30.12.2009 07:55 |
Переключение между книгами | stas77 | Microsoft Office Excel | 5 | 03.11.2009 19:00 |
Обмен данных между Excel и Word | WilliJo | Microsoft Office Word | 3 | 26.05.2009 00:19 |