Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1 2 След.
RSS
Какое ограничение по количеству макросов в Эксель?
 
Добрый вечер!
Имеется файл эксель, с большой базой данных
Для обработки данных написано порядке 3-4 тыс макросов (почти все однотипные и короткие). Все что сделано-отлично работает
Однако Надо написать еще 7-8 тыс макросов, но Визуал байзик выдает ошибку, что лимит макросов исчерпан.
из этого встает 3 вопроса:
1. Каким образом эксель считает что есть лимит по макросам-здесь дело в количестве макросов, или в его длине?
Для экселя разница есть  100 больших макросов, или 1 тыс но маленьких?
2. что надо сделать чтобы можно было больше макросов написать? (оперативку уже увеличил, там порядка 32 гб ддр4, эксель стоит 64 битный)
3. Какой программой можно заменить если макросов так много, а эксель видимо не может их осилить (я просто кроме экселя и ворда других программ не знаю, может Acces нужен или MySQL?)
Изменено: dadalsa - 22 Фев 2017 18:37:58
 
Цитата
dadalsa написал: написано порядке 3-4 тыс макросов
Цитата
dadalsa написал: Надо написать еще 7-8 тыс макросов
Без комментариев... 8-0
Вы бы лучше описали саму ЗАДАЧУ, а не то, как Вы пытаетесь ее решить ТАКИМ количеством макросов. Это явный перебор
Согласие есть продукт при полном непротивлении сторон.
 
Подозреваю что про такой лимит даже авторы Экселя не знают :)
Заменить можно хоть миллионом скриптов vbs - но зачем столько макросов? Куда? Нельзя написать ну десяток процедур с параметрами?
P.S. ещё вариант - подгружать и использовать внешние скрипты используя CreateObject("scriptcontrol")
Изменено: Hugo - 22 Фев 2017 18:55:38
 
Цитата
dadalsa написал:
Для обработки данных написано порядке 3-4 тыс макросов (почти все однотипные и короткие).
Обычно легко заменяется на 3-4 макроса. И отлично работает.  :)
 
имеется исходный файл формата эксель
после запуска прописанного макроса получается вот такая выборка (файл москва реестр pdf).
Что делают макросы.
Открываем файл эксель, макросы меняют столбцы местами, выбирает оттуда все закупки, которые относятся к москве, делает затем фильтр по ценам, и сохраняют в формате pdf.
К примеру для москвы делается порядка 30-40 макросов. И так-делается для всех регионов, их порядка 100.
не знаю как это все оптимизировать))

Рисунок удален: превышение допустимого размера вложения [МОДЕРАТОР]
 
Оптимизация - не в этой теме. Вы спросили о количестве, ответ получили.
 
Цитата
vikttur написал: Оптимизация - не в этой теме
Думаю даже не в этом разделе. Нужно грамотное ТЗ
Согласие есть продукт при полном непротивлении сторон.
 
Нельзя же быть таким жадным.  :)  У человека 3-4 тысячи макросов, а в файле - ни одного.
 
Цитата
RAN написал: таким жадным
:D да я про 'Курилку' намекал, раздел Анекдот дня  :D
Согласие есть продукт при полном непротивлении сторон.
 
А я, вообще-то,  dadalsa имел в виду.  :D
 
Цитата
vikttur написал:
Оптимизация - не в этой теме. Вы спросили о количестве, ответ получили.
Про количество ответ я не получил.
Участники форума задали мне несколько вопросов, на них я ответил, получается ответив на вопросы я затронул оптимизацию?
Мне молчать надо было?
Я новичок на форуме, и не сильно разбираюсь во многих тонкостях.
 
Если не поняли - количестко макросов неограничено. Объем данных ограничен оперативной памятью компьютера.
Цитата
dadalsa написал: Мне молчать надо было?... не сильно разбираюсь во многих тонкостях.
Молчать не надо, но с правилами форума ознакомиться должны. Не стоит в одной теме освещать разные вопросы.
 
vikttur,
Куда мне написать техзадание, чтобы оптимизировать такое количество макросов?)
 
Если техзадание - то в раздел платных заказов. Вряд ли кому-то будет интересно разбираться в Вашем коде, править его, теряя на эту уйму времени.
Здесь помогают по конкретным вопросам.
 
Цитата
dadalsa написал:
Если не поняли - количестко макросов неограничено. Объем данных ограничен оперативной памятью компьютер
Тут я с Вами  соглашусь только отчасти
1. Было два компа, у одного 3 гб оперативки, у второго 16 гб
при количестве 5 тыс макросов обе машины стали выдавать ошибку что макросов слишком много, уменьшил до 4,5 тыс, комп на котором 16 гб, уже стал норм воспринимать, а там где 3 гб, начал так же писать про ошибку. Снизив количество макросов до 4 тыс, оба компа уже норм воспринимали.
Если все строго привязано к оперативной памяти, получается что комп где 16 гб должен был осилить около 20 тыс макросов

2. так же никто не сказал что есть само ограничение по макросам-это количество макросов или же знаков в макросе?
Представьте себе ситуацию что у меня не 5 тыс макросов, а 1 макрос но в котором столько же символов, как в тех 5 тыс макросах. Эксель так же будет выдавать ошибку?
Изменено: dadalsa - 22 Фев 2017 19:59:01
 
Цитата
dadalsa написал:
Представьте себе ситуацию что у меня не 5 тыс макросов, а 1 макрос но в котором столько же символов, как в тех 5 тыс
Если размер кода превышен, то Excel сообщит, что код очень длинный. А про КОЛИЧЕСТВО именно макросов я никогда не слышал )
 
Цитата
dadalsa написал: Тут я с Вами  соглашусь только отчасти
А я вообще с Вами не соглашусь. Может быть написано 5000 макросов, но в данный момент времени один работающий вешает компьютер. Многое зависит от данных, от того, как их обрабатывают, от применяемых библиотек и т.д.
Цитата
так же никто не сказал что есть само ограничение по макросам-это количество макросов или же знаков в макросе?
Вы о количестве знаков не спрашивали.
Где-то встречал обсуждение о размере кода в модуле, но на количество макросов... да хоть миллион пишите )
 
Цитата
Юрий М написал:
Если размер кода превышен, то Excel сообщит, что код очень длинный.
Да указанные вами детские вопросы эксель мне часто писал когда эти макросы строчились))))))
Тут как раз вопрос в количестве и размере макроса по количеству символов.
макрос может содержать 3 строки, а может содержать 1000 строк.
Вопрос как раз в том-вылетающая ошибка что макросов слишком много касается количества общих символов, или количества макросов?
 
Цитата из этой ссылки:
Цитата
В более ранних версиях Visual Basic накладывались ограничения на такие параметры кода, как длина имени переменной, количество переменных в модуле и размер модуля. В Visual Basic 2005 эти ограничения были ослаблены, предоставляя большую свободу в написании и упорядочении кода.
 
dadalsa, я никогда не встречал ограничения именно на КОЛИЧЕСТВО МАКРОСОВ. Правда, я и не делал в одном проекте ТАКОГО количества процедур ))
Но 3-4 (7-8) тысяч макросов - это явный перебор! )
 
Цитата
vikttur написал:
А я вообще с Вами не соглашусь. Может быть написано 5000 макросов, но в данный момент времени один работающий вешает компьютер. Многое зависит от данных, от того, как их обрабатывают, от применяемых библиотек и т.д.
Дело в том, что все эти макросы однотипные. вешаться там нечему, когда макросов было 2 тыс никаких ошибок не вылезало что макросов много. а тут взяли, их тупо по количеству увеличили, так они сразу и встали).

Про колиечтсво символов я указал в самом первом вопросе, просто коряво спросил)
Изменено: dadalsa - 22 Фев 2017 20:06:43
 
Поверьте, такое количество макросов - от неопытности. Однотипные или похожие обычно можно заменить одной-двумя процедурами.
 
Цитата
Юрий М написал:
я никогда не встречал ограничения именно на КОЛИЧЕСТВО МАКРОСОВ. Правда, я и не делал в одном проекте ТАКОГО количества процедур ))
Но 3-4 (7- тысяч макросов - это явный перебор! )
я понимаю что это перебор, но вы бы видели как сервер их строчит))))
из одного эксель файла получается около 400 файлов в формате pdf
Обработка делается около 30 минут (с оперативкой 32 гб и ddr4). ранее стоял комп с 3 гб, так он 4 часа возился
 
А писАли эти все макросы Вы? Приведите хоть один код
Согласие есть продукт при полном непротивлении сторон.
 
Можно написать 400 макросов, а можно один, где цикл от 1 до 400 выполнит 400 раз эту операцию ))
Но я не знаю, что там у Вас конкретно делают эти 3000 макросов.
 
Цитата
dadalsa написал: 400 файлов в формате pdf
И зачем Вам столько файлов .pdf? Вам, похоже, не только макросы нужно оптимизировать, но и подход к самой работе с данными. Хранением/обработкой/выводом  
Согласие есть продукт при полном непротивлении сторон.
 
Sanja, не нужно провоцировать )
Здесь разговор о количестве.

dadalsa, чем ограничено количество тумбочек в Вашей квартире? Формалиьно - ничем. Если квартира безразмерная и тумбочки миниатюрные )
А вообще: размером тумбочки, объемом квартиры, но главное - здравым смыслом. Последнее - о клонировании кода.
 
Цитата
Sanja написал: А писАли эти все макросы Вы? Приведите хоть один код
Да, я писал
Код
Sub Макрос40()
'
' Макрос 40 Макрос
' Выбрать регион  
'

'
    ActiveSheet.Range("$A$1:$N$10000").AutoFilter Field:=12, Criteria1:=Array( _
        "А10", "А11", "А29", "А35", "А39", "А47", "А51", "А53", "А60", "А78", "А83"), Operator _
        :=xlFilterValues
    Range("A1").Select

     
End Sub
Изменено: dadalsa - 22 Фев 2017 20:19:28
 
Цитата
vikttur написал: не нужно провоцировать
Я пытаюсь подтолкнуть к созданию толковой НОВОЙ темы с конкретными вопросами
Согласие есть продукт при полном непротивлении сторон.
 
dadalsa, код следует оформлять соответствующим тегом. Ищите такую кнопку и исправьте своё сообщение.
Спасибо!
Тег VBA.jpg (19.2 КБ)
Страницы: 1 2 След.
Читают тему (гостей: 1)
Наверх