Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/75: Рейтинг темы: голосов - 75, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 19.03.2015
Сообщений: 11
1

Падает Excel при запуске макроса

19.03.2015, 22:49. Показов 13450. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, уважаемые гуру. Застрял на одном проекте. Пишу прогу на работу для себя. Всё близилось к финалу и... уже неделю мучаюсь. Ситуация следующая: есть большой код, много форм, очень много контролов, всё завязано на Excel. В отладчике всё работает прекрасно, а вот если запустить выполнение из вне, падает Excel с претензией на:

Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: EXCEL.EXE
Версия приложения: 12.0.6718.5000
Отметка времени приложения: 54e45be7
Имя модуля с ошибкой: unknown
Версия модуля с ошибкой: 0.0.0.0
Отметка времени модуля с ошибкой: 00000000
Код исключения: c0000005
Смещение исключения: 00000000
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049

Дополнительные сведения об этой проблеме:
LCID: 1049
Brand: Office12Crash
skulcid: 1049

Пробовал на разных машинах в 2007 и 2010 Excel'е, разницы нет.
Перерыл весь интернет, в том числе и англо-американский кластер. Информации много, полезного нет. Пришёл к выводу: два варианта возникновения проблемы. 1) Корявый код. 2) Повреждён файл.
Помогите плз.
Вложения
Тип файла: rar PES.rar (1.06 Мб, 18 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2015, 22:49
Ответы с готовыми решениями:

При запуске макроса Excel выдаёт ошибку
Всем привет. Во-первых, сразу предупреждаю, что в VBA это первая моя программа. Хорошо знаю...

Не работает wdActiveEndPageNumber (определение текущего номера страницы) при запуске макроса из Excel
Добрый день. Из екселя считаю количество слов в документе и на какой странице они находятся....

Ошибка при запуске макроса в MS Excel 2007 "Subscript out of range"
Ошибка такая: Subscript out of range Наверняка ошибка в коде: Sub Las() Dim middle(1 To 10) As...

Ошибка при запуске макроса
Помогите найти ошибку. Ошибка возникает в данном участке кода. ActiveWorkbook.Names.Add...

6
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
20.03.2015, 00:35 2
Цитата Сообщение от iDayNice Посмотреть сообщение
запустить выполнение из вне
Что вы имеете ввиду? И какой макрос из того десятка с лишним, которые у вас созданы выбивает программу?
0
0 / 0 / 0
Регистрация: 19.03.2015
Сообщений: 11
20.03.2015, 06:45  [ТС] 3
Инициализация Userform1, макрос Start.
Если поместить Userform1.Show в Private Sub Workbook_Open() или назначить кнопке, падает Excel. Если перед этим пройтись отладчиком по любой части кода, всё работает на ура.

Добавлено через 2 часа 59 минут
Разобрался кто мне Excel роняет. Два контрола Multipage (Staff и Groups). Вычитал что за Multipage'ами давно грешок есть. Они сами по себе косячные. Буду думать как лечить. Избавляться от них никак нельзя.
0
2080 / 1238 / 464
Регистрация: 20.12.2014
Сообщений: 3,237
20.03.2015, 08:33 4
Цитата Сообщение от iDayNice Посмотреть сообщение
Если поместить Userform1.Show в Private Sub Workbook_Open() или назначить кнопке, падает Excel
Не знаю, как насчет первого действия, но поставил кнопку, назначил ей макрос Start и форма открылась по нажатию. Excel "стоит"
0
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
20.03.2015, 10:46 5
Проект явно нуждается в оптимизации. Десятки одинаковых форм, десятки одинаковых обработчиков (Private Sub TextBox496_KeyPress(...)). Почему Application.Run "ActiveDays" вместо простого вызова ActiveDays?
Почитайте о том, как использовать один обработчик для многих контролов, например тут
Как проверить, в каком из Checkbox пользователь сделал выбор?
1
0 / 0 / 0
Регистрация: 19.03.2015
Сообщений: 11
20.03.2015, 11:32  [ТС] 6
Спасибо за ссылку, обязательно изучу материал. Я пока только осваиваю VBA и сам понимаю что получилось громоздко. Но давайте по существу.

Сделал костыли...

Дело в том, что MultiPage'и не могут обработать параметры выдаваемые им во время загрузки формы (могут только после загрузки формы), добавил промежуточную форму, вынес обработку MultiPage'ев в отдельную процедуру, вроде как пашет... но это вот как раз не оптимизация кода, а совсем наоборот. Что скажете?

Добавлено через 3 минуты
... а нет, не пашет

Теперь вот:

Сигнатура проблемы:
Имя события проблемы: BEX
Имя приложения: EXCEL.EXE
Версия приложения: 14.0.4756.1000
Отметка времени приложения: 4b9c08e8
Имя модуля с ошибкой: unknown
Версия модуля с ошибкой: 0.0.0.0
Отметка времени модуля с ошибкой: 00000000
Смещение исключения: 00000000
Код исключения: c0000005
Данные исключения: 00000008
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049

Дополнительные сведения об этой проблеме:
LCID: 1049
skulcid: 1049

Добавлено через 16 минут
Цитата Сообщение от chumich Посмотреть сообщение
назначил ей макрос Start и форма открылась по нажатию. Excel "стоит"
Вы попробуйте закрыть Excel и выполнить Start из другой книги по кнопке с панели инструментов. Погоняйте стартовую форму, поюзайте контролы, может выдаст ошибку. У меня периодически отрабатывает без ошибок. Да и фиг бы с ней, но на работе постоянно открыто 10-15 книг и один такой крит уведёт все книги с собой не сохранив.

Добавлено через 9 минут
Вот кусок дампа или как его там, я тут вообще не шарю...

shared\OfficeSoftwareProtectionPlatform\OSPPCEXT.DLL". Невозможно найти или открыть PDB-файл.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\crypt32.dll". Символы загружены.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\msasn1.dll". Символы загружены.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\WinSCard.dll". Символы загружены.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\winhttp.dll". Символы загружены.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\webio.dll". Символы загружены.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\winmm.dll". Символы загружены.
"EXCEL.EXE" (Win32). Загружено "C:\Windows\SysWOW64\FM20ENU.DLL". Невозможно найти или открыть PDB-файл.
Поток 0x174c завершился с кодом 0 (0x0).
Необработанное исключение по адресу 0x74A3CB49 в EXCEL.EXE: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x00000000.
0
0 / 0 / 0
Регистрация: 19.03.2015
Сообщений: 11
21.03.2015, 12:27  [ТС] 7
Спасибо за активное участие многочисленным участникам обсуждения. Проблема решена. Установил надстройку для очистки кода от мусора. Очистил. 6 часов, полёт нормальный. http://www.appspro.com/Utilities/CodeCleaner.htm
0
21.03.2015, 12:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2015, 12:27
Помогаю со студенческими работами здесь

Зависает при запуске макроса
Столкнулся с такой проблемой макрос работал нормально но сегодня при его запуске он грузит грузит и...

Зависает эксель при запуске макроса
Здравствуйте гении!!! помогите пожалуйста, запускаю вот этот макрос и эксель зависает в смерть,...

Выдает ошибку при запуске макроса!
Создать программный код, в котором ввод данных осуществляется функцией InputBox. Использовать...

Скрыть кнопки при запуске макроса
Всем привет. Довольно интересная задача. У меня есть кнопки которые надо скрыть при запуске...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru