|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.05.2018, 11:28 | #1 |
Форумчанин
Регистрация: 05.07.2009
Сообщений: 209
|
Прекращение работы Excel при выполнении макроса
Здравствуйте! Помогите, пожалуйста, разобраться, в чем проблема. Есть книга, которая формируется выгрузкой данных из MS Access. В ней на первом листе данные и кнопка, по нажатию на которую запускается макрос. Макрос копирует содержимое листа в другую книгу, которая либо открывается, если уже создана, либо заново создается. После копирования всех данных с листа во второй книге удаляется кнопка, по которой запускается макрос, т.к. там она не нужна.
Проблема в том, что макрос отрабатывает только в том случае, когда вторая книга (в которую выполняется копирование), пуста. Т.е. в ней только стандартные Лист 1, Лист 2, Лист 3. В этом случае все выполняется верно: создается новый лист с данными из первой книги и занимает позицию перед Листом1. При последующих попытках копирование больше не выполняется. На той самой строчке в коде, где выполняется копирование листа, вылетает сообщение о прекращении работы MS Excel. Не могу понять, в чем причина... Код:
Последний раз редактировалось Swatch; 22.05.2018 в 12:45. |
22.05.2018, 12:00 | #2 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
чему равно S?
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
22.05.2018, 12:40 | #3 |
Форумчанин
Регистрация: 05.07.2009
Сообщений: 209
|
s равно текущей дате, преобразованной к текстовому формату... Этот параметр передается из Акцесса при формировании первой книги.
|
22.05.2018, 12:50 | #4 |
Форумчанин
Регистрация: 05.07.2009
Сообщений: 209
|
Выявилось следующее: если в книгу, куда я пытаюсь скопировать лист, предварительно добавить пустой лист вручную, то тогда копирование выполняется.
|
22.05.2018, 12:50 | #5 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
проверяйте сколько листов в новой книге, если 0 - добавляйте лист макросом. А почему вставить надо именно перед "Лист1", а если "Лист1" не будет в книге?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. Последний раз редактировалось Aleksandr H.; 22.05.2018 в 12:56. |
22.05.2018, 12:57 | #6 |
Форумчанин
Регистрация: 05.07.2009
Сообщений: 209
|
да в общем то и необязательно перед Лист1, мне просто нужно соблюдать порядок по возрастанию при каждом копировании листа. Т.к. наименования листов обозначают даты, и важно их расположить по возрастанию за месяц. Поэтому я и ориентировалась, чтобы каждый следующий лист всегда вставал перед Листом1.
|
22.05.2018, 13:02 | #7 |
Форумчанин
Регистрация: 05.07.2009
Сообщений: 209
|
А как можно вставить лист, не указывая параметр Before, т.е. чтобы обойтись без указания конкретного листа?
|
22.05.2018, 13:05 | #8 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
вставляйте после всех листов.
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
22.05.2018, 13:34 | #9 |
Форумчанин
Регистрация: 05.07.2009
Сообщений: 209
|
Спасибо!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прекращение работы при запуске макроса из другого файла | Дмитрий17 | Microsoft Office Excel | 4 | 01.11.2017 20:32 |
повторяющаяся ошибка при выполнении макроса | who | Microsoft Office Excel | 2 | 03.10.2014 13:57 |
Ошибка 400 при выполнении макроса | shoa_izh | Microsoft Office Excel | 12 | 15.07.2011 15:08 |
Ошибка при выполнении макроса | rlev | Microsoft Office Excel | 8 | 22.02.2010 12:41 |
При выполнении макроса, дергается таблица | valerij | Microsoft Office Excel | 3 | 23.03.2008 00:38 |