![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 28.07.2008
Сообщений: 35
|
![]()
Друзья, необходима помощь в реализации формулы массива через vba. Пример во вложении. Дело в том, что формула массива очень долго считается (пересчитывается). Поэтому хотелось бы рассчитывать таблицу в примере через макрос.
В первом столбце даты платежей которые должны были быть погашены но не были погашены. Во втором столбце суммы платежей которые должны были быть погашены но не погашены. В третьем столбце номера квартир по которым идут соответствующие платежи. Необходимо узнать сумму просроченных платежей по месяцам на сегодня. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 21.10.2012
Сообщений: 208
|
![]()
Судя по первым столбцам, вы заранее знаете до какого года кто должен)
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 28.07.2008
Сообщений: 35
|
![]()
Да именно так.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 25.03.2010
Сообщений: 417
|
![]()
макросом получиться еще дольше. Проверил
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 28.07.2008
Сообщений: 35
|
![]()
скиньте пож макрос может там можно нижеследующее использовать чтобы ускорить.
Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False 'ActiveSheet.DisplayPageBreaks = False Application.DisplayStatusBar = False 'Application.DisplayAlerts = False |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 25.03.2010
Сообщений: 417
|
![]()
Сделано необдуманно, на скорую руку. Эксперементируйте
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 28.07.2008
Сообщений: 35
|
![]()
Спасибо большое!
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 28.07.2008
Сообщений: 35
|
![]()
maksim_serg подскажите а можно ли ускорить ваш макрос используя информацию по ссылке: http://habrahabr.ru/post/158725/
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 25.03.2010
Сообщений: 417
|
![]()
Его можно ускорить если уменьшить диапозон в формуле
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
![]()
Вот такой вариант UDF maksim_serg будет побыстрее раза в 3-4:
Код:
Правда в алгоритм не вникал - просто ускорил: 1,0625 0,84375 0,953125 vs прежний вариант 3,9375 3,53125 3,15625 P.S. Заглянул на habrahabr - ну да, примерно вот так и сделал ![]()
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 10.11.2013 в 17:20. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
PostMessage или как по другому | Laimer64 | C# (си шарп) | 1 | 06.01.2013 19:59 |
как запустить формулу посредством vba | johny_03 | Microsoft Office Excel | 7 | 24.12.2011 19:36 |
Не получается написать формулу на VBA | Andrey3055 | Microsoft Office Excel | 0 | 03.10.2011 10:36 |
как вставить формулу в vba | Ilya_L | Microsoft Office Excel | 6 | 18.06.2010 09:10 |
Делфи. Функция, возвращающая букву системного диска(раздела). Или как ее можно получить по-другому? | быдлокодер | Помощь студентам | 2 | 08.06.2010 23:26 |