|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.06.2009, 09:49 | #1 |
Пользователь
Регистрация: 25.02.2009
Сообщений: 14
|
Out of stack space (Error 28)
В поиске не нашел.. потому прошу помощи у зала
у меня во время работы макроса вываливается ошибка Out of stack space (Error 28) я так понял заканчивается память (стека?) в определенный момент работы макроса... он у меня циклически выполняет ряд действий.. затыкается где-то на 150 цикле... есть какая-нить команда чтобы память очистить если книгу закрыть с макросом.. а потом открыть. макрос продолжает нормально работать опять 150 циклов
я не программист и программировать не умею...
просто имел несчастье сделать пару макросов для бухгалтеров... теперь они меня считают программером >_< |
11.06.2009, 09:55 | #2 |
Форумчанин
Регистрация: 03.04.2009
Сообщений: 412
|
Хорошо бы взглянуть на сам цикл...
|
11.06.2009, 09:57 | #3 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Если бы Вы приложили файл с проблемным кодом, то скорее всего получили бы нужный ответ. А просто, на вскидку, могу предположить, что в процессе выполнения макроса, запускаются еще какие-то не нужные для данного случая процедуры (например, по какому-либо событию), которые постепенно "забивают" стек.
Чем шире угол зрения, тем он тупее.
|
11.06.2009, 10:14 | #4 |
Пользователь
Регистрация: 25.02.2009
Сообщений: 14
|
выложить код прабла... типа секьюрные элементы
там несколько макросов которые запускают друг друга в зависимости от условий проверки основные действия... там происходит копирование строки.. с листа ее "обработка" и копирование результатов обработки на три других листа... когда обработано 50 строк листы сохраняются в создаваемую папку в отдельные текстовые файлы... и процедура повторяется оптимизировать код времени уже нет... пока есть идея ограничить входной файл 150 строками я так понял команды типа clear stack нету?
я не программист и программировать не умею...
просто имел несчастье сделать пару макросов для бухгалтеров... теперь они меня считают программером >_< Последний раз редактировалось legion-mia; 11.06.2009 в 10:17. |
11.06.2009, 10:36 | #5 | |||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Цитата:
Словесное описание кода здесь не поможет. Да и что в коде может быть такое секретное? Цитата:
Вы не готовы потратить несколько минут на то, чтобы код наконец-то начал работать без ошибок, и в несколько раз быстрее. Короче, будет код - будут советы. |
|||
11.06.2009, 10:38 | #6 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Цитата:
1. Если совсем нет времени для отладки, попробуйте первой строкой в каждом макросе поставить Код:
Код:
Чем шире угол зрения, тем он тупее.
|
|
11.06.2009, 12:27 | #7 |
Форумчанин
Регистрация: 30.01.2008
Сообщений: 314
|
характерно для рекурсии..
|
15.06.2009, 15:36 | #8 |
Пользователь
Регистрация: 25.02.2009
Сообщений: 14
|
первоочередную задачу мы все-таки решили..
однако хотелось бы макрос использовать в будущем.. пошарился по форуму... немного дооптимизировал скрипт после макрорекордера выиграл буквально пару позиций... виснет теперь на 184 цикле... почищенный код вот Код:
сдается мне это все из за того что типа "счетчики" берутся со страниц экселя... и каждый цикл это по сути ctrl+c / ctrl+v у меня пока знаний не хватает как это сделать так чтобы все типа автоматом делалось
я не программист и программировать не умею...
просто имел несчастье сделать пару макросов для бухгалтеров... теперь они меня считают программером >_< |
15.06.2009, 15:39 | #9 |
Пользователь
Регистрация: 25.02.2009
Сообщений: 14
|
хотя есть еще идея просто тупо указать чтобы макрос work 50 раз срабатывал а потом сохранялись страницы...
но это уже завтра буду думать
я не программист и программировать не умею...
просто имел несчастье сделать пару макросов для бухгалтеров... теперь они меня считают программером >_< |
15.06.2009, 16:21 | #10 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Поставьте хотя бы первой строкой в макросе
Application.ScreenUpdating = False Значительно быстрее будет работать... Ещё могу посоветовать заменить Код:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите справиться с java.lang.OutOfMemoryError: Java heap space | Levilaulada | Помощь студентам | 1 | 17.05.2009 10:59 |
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Debug/main.exe : fatal error LNK11 | prefak | Win Api | 0 | 19.04.2009 16:51 |
Выдаёт ошибку: acos DOMAIN error,полсе нажатия окей,ещё одну ошибку pow OWERFLAW ERROR | prikolist | Общие вопросы C/C++ | 4 | 10.04.2009 20:27 |
Space Master 1994 | deltashadow | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 6 | 08.08.2007 11:14 |