Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA для Excel - "out of memory" после успешного выполнения предыдущего кода / 16 сообщений из 16, страница 1 из 1
08.03.2014, 21:00
    #38581903
ecivgamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
Привет всем!

В VBA для Excel получаю ошибку "out of memory" после успешного выполнения предыдущего кода. Пока выхожу из положения путём рестарта Excel, может кто подскажет другое решение.

железо:
HP Compaq dx7300 Microtower
Intel(R) Core(TM)2 CPU
6320 @ 1.86GHz
1.58 GHz, 1,99 GB of RAM

размер файла Excel: 25 521 kb
...
Рейтинг: 0 / 0
08.03.2014, 22:26
    #38581914
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
ecivgamerможет кто подскажет другое решениеЧтобы что-то подсказать, надо видеть существующее решение.
Размер файла 25 МБ - это нехорошо. Excel - не СУБД, подумайте о переезде хотя бы на Access.
...
Рейтинг: 0 / 0
09.03.2014, 18:01
    #38582139
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
авторРазмер файла 25 МБ - это нехорошо. Excel - не СУБД,
Не факт!
Файл ексел без данных может весить очень много из-за стилей, имён, условного форматироваия, формул и пр.
Некоторые любят использовать ексел как разукраску для Мурзилки!
...
Рейтинг: 0 / 0
09.03.2014, 18:04
    #38582141
alex77755
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
Настораживает именно:автор после успешного выполнения предыдущего кода
Того же самого кода?
Возможно остались не очищенные глобальные переменные?!
...
Рейтинг: 0 / 0
09.03.2014, 18:22
    #38582152
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
alex77755авторРазмер файла 25 МБ - это нехорошо. Excel - не СУБД,В одной довольно известной российской компании, Excel является одним из основных инструментов. Файлики с данными достигают размера, порядка 200-300 Мб.

Автору: показывай "предыдущий код"
...
Рейтинг: 0 / 0
09.03.2014, 18:39
    #38582154
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
VSVLAD,
в некоторых российских компаниях берут данные из Excel, считают на калькуляторе и вносят результаты обратно в Excel, вместо того, чтобы вписать простейшую формулу.
Этот мир несовершенен, и "как есть" часто далеко от того, "как должно быть".
...
Рейтинг: 0 / 0
12.03.2014, 13:53
    #38583977
GGamerr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
alex77755Настораживает именно:автор после успешного выполнения предыдущего кода
Того же самого кода?
Возможно остались не очищенные глобальные переменные?!

Не забывай пользоваться
Option explicit
и
set peremennaya=Nothing
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
13.06.2017, 12:52
    #39470893
Leon1987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
Ребят, у меня аналогичная проблема... Понимаю что где то я что то не обнуляю...

Но поясните насколько принципиально чистить переменные по окончании процедур, если они были объявлены внутри конкретной процедуры... Как я понимаю чистить нужно только объявленные глобально, так как переменные объявленные внутри функции должны быть стерты из памяти после ее завершения... в чем я не прав?
и как и где найти те переменные что нагрузили память и привели к конкретной ошибке???
...
Рейтинг: 0 / 0
13.06.2017, 13:10
    #39470906
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
В общем случае локальные чистить не надо.
Но освобождать ресурсы надо - закрывать файлы, соединения с БД и т.п.
...
Рейтинг: 0 / 0
14.06.2017, 08:26
    #39471251
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
Leon1987Ребят, у меня аналогичная проблема... Понимаю что где то я что то не обнуляю...

Но поясните насколько принципиально чистить переменные по окончании процедур, если они были объявлены внутри конкретной процедуры... Как я понимаю чистить нужно только объявленные глобально, так как переменные объявленные внутри функции должны быть стерты из памяти после ее завершения... в чем я не прав?
и как и где найти те переменные что нагрузили память и привели к конкретной ошибке???

Пример кода, где ошибка? Может тип данных ограничен 32?!
...
Рейтинг: 0 / 0
15.06.2017, 13:54
    #39472270
Leon1987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
Focha,

вчера еще ошибка была, а сегодня не выходит...
пример кода сложно выложить, так как эта ошибка выходит после завершения его выполнения... если я например после выполнения кода1,кода2,кода3 я нажму кнопку, чтобы запустить код4, то ошибка появляется... Но если я не запуская первые три кода запущу код4, то ошибки не будет
...
Рейтинг: 0 / 0
16.06.2017, 12:05
    #39473041
i45
i45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
Leon1987Focha,

вчера еще ошибка была, а сегодня не выходит...
пример кода сложно выложить, так как эта ошибка выходит после завершения его выполнения... если я например после выполнения кода1,кода2,кода3 я нажму кнопку, чтобы запустить код4, то ошибка появляется... Но если я не запуская первые три кода запущу код4, то ошибки не будет
Попробуй сохранять файл после каждого куска.
...
Рейтинг: 0 / 0
16.06.2017, 13:46
    #39473129
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
GGamerralex77755Настораживает именно:пропущено...

Того же самого кода?
Возможно остались не очищенные глобальные переменные?!

Не забывай пользоваться
Option explicit
и
set peremennaya=Nothing

Может используешь тип данных:

Byte - хранит числа от 0 до 255.
Integer - хранит числа от -32768 до 32767.
Long - хранит числа от -2147483648 до 2147483647.

Если в переменную типа Integer записать число больше 32767 то будет такая ошибка.
...
Рейтинг: 0 / 0
16.06.2017, 14:14
    #39473148
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
FochaЕсли в переменную типа Integer записать число больше 32767 то будет такая ошибка.с чего бы? не путай человека
...
Рейтинг: 0 / 0
12.07.2017, 09:30
    #39487166
An12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
Открываем диспетчер задач и следим за пошаговым выполнением макроса. Скачек использования памяти поможет указать корень проблемы.
По крайней мере мне это несколько раз уже помогало. Выявленную процедуру пришлось править или менять алгоритм.
...
Рейтинг: 0 / 0
17.07.2017, 17:24
    #39490321
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
Shocker.ProFochaЕсли в переменную типа Integer записать число больше 32767 то будет такая ошибка.с чего бы? не путай человека
да, ошибка будет в таком случае №6 Overflow.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA для Excel - "out of memory" после успешного выполнения предыдущего кода / 16 сообщений из 16, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]