Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/"Вставка формулы в ячейку" замедляет скорость работы макроса - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Вставка формулы в ячейку" замедляет скорость работы макроса (Макросы/Sub)
"Вставка формулы в ячейку" замедляет скорость работы макроса
bumnik Дата: Пятница, 20.11.2015, 09:46 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 185
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
Здравствуйте! Подскажите как ускорить скорость работы макроса? Если изменить значение ячейки С18 на более нуля, то происходит вставка формулы в ячейку С22, С24 и т.д. Эта часть кода (вставка формулы в ячейку) и замедляет скорость работы кода. Можно ли что-то улучшить?
К сообщению приложен файл: 2339836.xlsm (66.4 Kb)
 
Ответить
СообщениеЗдравствуйте! Подскажите как ускорить скорость работы макроса? Если изменить значение ячейки С18 на более нуля, то происходит вставка формулы в ячейку С22, С24 и т.д. Эта часть кода (вставка формулы в ячейку) и замедляет скорость работы кода. Можно ли что-то улучшить?

Автор - bumnik
Дата добавления - 20.11.2015 в 09:46
SLAVICK Дата: Пятница, 20.11.2015, 10:18 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Замените вначале макроса:
[vba]
Код
Application.Calculation = xlCalculationAutomatic
на
Application.Calculation = xlCalculationManual
[/vba]

И добавьте вначале макроса:
[vba]
Код
Application.EnableEvents = False
[/vba] Это отключит чувствительность к событиям
а в конце
[vba]
Код
Application.EnableEvents = True
[/vba]Это включит чувствительность к событиям ;)

эти изменения отключат многократный запуск макроса после изменения ячейки. Сейчас у Вас после каждой вставки формулы, очистки... это макрос запускается снова и снова.


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Пятница, 20.11.2015, 10:29
 
Ответить
СообщениеЗамените вначале макроса:
[vba]
Код
Application.Calculation = xlCalculationAutomatic
на
Application.Calculation = xlCalculationManual
[/vba]

И добавьте вначале макроса:
[vba]
Код
Application.EnableEvents = False
[/vba] Это отключит чувствительность к событиям
а в конце
[vba]
Код
Application.EnableEvents = True
[/vba]Это включит чувствительность к событиям ;)

эти изменения отключат многократный запуск макроса после изменения ячейки. Сейчас у Вас после каждой вставки формулы, очистки... это макрос запускается снова и снова.

Автор - SLAVICK
Дата добавления - 20.11.2015 в 10:18
bumnik Дата: Пятница, 20.11.2015, 11:14 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 185
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
SLAVICK, часть кода перестало работать.
 
Ответить
СообщениеSLAVICK, часть кода перестало работать.

Автор - bumnik
Дата добавления - 20.11.2015 в 11:14
miver Дата: Пятница, 20.11.2015, 11:45 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 37 ±
Замечаний: 0% ±

Excel 2010
bumnik, Просто у Вас есть Exit Sub
К сообщению приложен файл: 5312097.xlsm (66.8 Kb)
 
Ответить
Сообщениеbumnik, Просто у Вас есть Exit Sub

Автор - miver
Дата добавления - 20.11.2015 в 11:45
bumnik Дата: Пятница, 20.11.2015, 12:14 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 185
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
miver, в Вашем файле не работает ни один макрос.
 
Ответить
Сообщениеmiver, в Вашем файле не работает ни один макрос.

Автор - bumnik
Дата добавления - 20.11.2015 в 12:14
miver Дата: Пятница, 20.11.2015, 12:56 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 37 ±
Замечаний: 0% ±

Excel 2010
Попробуйте вставить в свой файл сами, у меня работает <_<
К сообщению приложен файл: 4141.txt (8.8 Kb)


Сообщение отредактировал miver - Пятница, 20.11.2015, 12:59
 
Ответить
СообщениеПопробуйте вставить в свой файл сами, у меня работает <_<

Автор - miver
Дата добавления - 20.11.2015 в 12:56
bumnik Дата: Суббота, 21.11.2015, 09:07 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 185
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
SLAVICK, miver, спасибо! всё работает!
 
Ответить
СообщениеSLAVICK, miver, спасибо! всё работает!

Автор - bumnik
Дата добавления - 21.11.2015 в 09:07
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Вставка формулы в ячейку" замедляет скорость работы макроса (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!