Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2016, 11:57   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
А как его не использовать то ?
да точно так же, как не использовать Selection (не удивлюсь, если Вы и его задействовали).
например, для копирования нужно использовать не Copy Paste,
а метод Range.Copy
например,
Код:
Worksheets("Sheet1").Range("A1:D4").Copy destination:=Worksheets("Sheet2").Range("E5")
Цитата:
Да книгу с макросом не закрываю! Потому что там данные для макроса находятся.
да ради Бога, пусть находятся. Вы, главное, туда сотни Мбайт не пишите и, тем более, не удаляйте ничего из неё. Вот память утекать и не будет.


я же говорю Вам - у Вас проблема в логике (и в макросе).
Хотите верьте, хотите - нет. Дело ваше.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.09.2016, 12:04   #12
Android1
Форумчанин
 
Регистрация: 26.08.2010
Сообщений: 121
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
да точно так же, как не использовать Selection (не удивлюсь, если Вы и его задействовали).
например, для копирования нужно использовать не Copy Paste,
а метод Range.Copy
например,
Код:
Worksheets("Sheet1").Range("A1:D4").Copy destination:=Worksheets("Sheet2").Range("E5")

да ради Бога, пусть находятся. Вы, главное, туда сотни Мбайт не пишите и, тем более, не удаляйте ничего из неё. Вот память утекать и не будет.


я же говорю Вам - у Вас проблема в логике (и в макросе).
Хотите верьте, хотите - нет. Дело ваше.
В логике проблем нет, макрос работает (возможно его можно с оптимизировать, но на данный момент вопрос о другом), как и на каком оснвоании Вы сделали такой вывод то ?

Проблема в том, что буфер ctrl+z забивается, вот я и спросил можно ли его обнулить ? Вы же начали писать про логику и selection`ы.

Где у Вас логика ? Просто подскажите пожалуйста, если не сложно, как очистить буфер для ctrl+z ?
Android1 вне форума Ответить с цитированием
Старый 07.09.2016, 13:18   #13
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Я таких проблем в гигы не наблюдаю.
Будет макроса макроса, будет и решение проблемы
Вложения
Тип файла: rar Память.rar (912.6 Кб, 18 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 07.09.2016, 13:29   #14
Android1
Форумчанин
 
Регистрация: 26.08.2010
Сообщений: 121
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Я таких проблем в гигы не наблюдаю.
Естесвенно, у Вас же нет файлов, которые я обробатываю.

Макрос тут не причем. Я показал это в первом сообщении, все действия макроса я могу заменить ручным трудом, просто займет это у меня лет сто.

Теперь представтье, что у вас txt файл размером в 120 Мб и его Вам надо перенсети частями в ексель и обработать. Вот тут то у Вас и появяться Гигабайты и терабайты.

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

Я задал вопрос, как очистить буфер ctrl+z, если есть ответ, то пожалуйста помогите, если нет, то зачем ерунду про макрос писать.
Android1 вне форума Ответить с цитированием
Старый 07.09.2016, 13:34   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Android1 Посмотреть сообщение
В логике проблем нет, макрос работает (возможно его можно с оптимизировать, но на данный момент вопрос о другом), как и на каком оснвоании Вы сделали такой вывод то ?
я своё предположение я сделал на основании того, что у Вас буфер забивается. Буфер (клипбоард), который в 99.9% случаев вообще НЕ НУЖЕН в макросах. (0.01% - это взаимодействие с другими приложениями и прочая экзотика).
А буфер UNDO тут вообще не причём, макросы его вообще не используют.
Нельзя откатить по Ctrl-Z то, что сделано макросом.

Всё остальное - что работает, что не работает, правильный у Вас макрос или неправильный, можно сделать только после оглашения решаемой задачи (что нужно сделать) и кода самого макроса.

Извините, но наш разговор начинает уходить в какие-то теологические дебри. У меня проблемы с переполнением памяти нет. Ваш пример из поста #1 не корректный. Он легко лечится закрытием книги и не имеет отношения к макросам. Не хотите рассказывать о том, какую задачу решаете и публиковать макрос - воля ваша.
Но по фотографии лечить не всегда получается.

p.s. На крайний случай, попробуйте сделать тестовый макрос, который может проиллюстрировать вашу проблему. чтобы я его запустил и увидел, что память забилась и всё висит.

Успехов!


p.p.s.
Цитата:
Вот тут то у Вас и появяться Гигабайты и терабайты.
Excel не предназначен для хранения террабайтов данных.
А если у Вас книга внутри содержит заполненные миллионы строк, то excel и будет занимать гигабайты в памяти.

Цитата:
если нет, то зачем ерунду про макрос писать.
всё. убедили. не буду я вам ничего писать!

Последний раз редактировалось Serge_Bliznykov; 07.09.2016 в 13:38.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.09.2016, 13:34   #16
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Очистить буфер undo можно записав что-то макросом на лист - после этого память undo сбрасывается.
Но это действительно тут ни при чём, это пошло из первого поста, где не было ни слова про макрос.
Ну а txt файл размером в 120 Мб перенести частями в ексель и обработать легко - берём частями и обрабатываем, без проблем
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 07.09.2016 в 13:37.
Hugo121 вне форума Ответить с цитированием
Старый 07.09.2016, 13:41   #17
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

ActiveSheet.UsedRange ?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.09.2016, 13:45   #18
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
ActiveSheet.UsedRange ?
Пробовал - память не изменилась
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 07.09.2016, 13:51   #19
Android1
Форумчанин
 
Регистрация: 26.08.2010
Сообщений: 121
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
А если у Вас книга внутри содержит заполненные миллионы строк, то excel и будет занимать гигабайты в памяти.
После того, как макрос из txt файла переносит в среднем 10 млн строк и распрелеляет их опредленным образом, эти данные копируются в новую созданный файл, файл сохраняется и закрывается.

Остается открытым пустой только первноначальный файл с кодом макроса и несколькими формулами. Но память из ОЗУ, которую занимает ексель после оброботки файла, который уже закрыт, не куда не девается.!!
Android1 вне форума Ответить с цитированием
Старый 07.09.2016, 13:52   #20
Android1
Форумчанин
 
Регистрация: 26.08.2010
Сообщений: 121
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Очистить буфер undo можно записав что-то макросом на лист - после этого память undo сбрасывается.
Но это действительно тут ни при чём, это пошло из первого поста, где не было ни слова про макрос.
Ну а txt файл размером в 120 Мб перенести частями в ексель и обработать легко - берём частями и обрабатываем, без проблем

Именно так я и делаю, и после обработки данных, макрос их записывает в новый созданный файл, сохраняет и закрывает, но память так и остается занятой!
Android1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Огромная загрузка ЦП FVAM Windows 1 29.03.2014 18:53
Огромная Проблема . vanic1 Компьютерное железо 1 20.09.2011 21:28
Огромная проблема с настройкой монитора. Ibanez Wizard Компьютерное железо 5 23.08.2011 19:55
Проблема с виделением памяти! FreTFuL Общие вопросы C/C++ 1 07.05.2010 20:23