powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
16 сообщений из 16, страница 1 из 1
VBA для Excel - "out of memory" после успешного выполнения предыдущего кода
    #38581903
ecivgamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

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

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

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

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

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

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

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

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

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

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

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

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

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


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