Измерение эффективности формул и макросов (Microsoft Excel)
Джерри отмечает, что обычно есть несколько способов получить одинаковые результаты в Excel, например, различные комбинации функций или кода VBA. Он знает, что существуют некоторые общие рекомендации по повышению эффективности книг Excel, но отмечает, что у разработчиков баз данных есть инструменты для измерения и повышения эффективности запросов, выполняемых к их базам данных. Джерри задается вопросом, есть ли какой-либо подобный инструмент, который пользователь Excel может использовать для измерения производительности определенной формулы или макроса, чтобы сделать расчет в книге более эффективным.
Есть много способов повысить эффективность и скорость вычислений ваших листов и макросов. Традиционный метод (по крайней мере, когда дело доходит до макросов) — это вставить некоторый код, который отмечает время начала того, что вы хотите измерить, а затем, после того, как этот блок кода будет готов, отметить время окончания. Сравнивая эти два показателя, вы можете найти время, прошедшее для этого блока, и, если оно неприемлемо, сосредоточьте свои усилия на улучшении алгоритмов в этом блоке.
Когда дело доходит до реальных формул на листе, вы не можете измерить прошедшее время так же, как в макросе. Все, что вы могли сделать (если захотели), — это измерить, сколько времени в целом потребовалось для перерасчета. К сожалению, это не поможет вам сузить круг формул, которые вам, возможно, придется изменить, или как вы можете реорганизовать свой рабочий лист.
Если вам нужны более автоматизированные инструменты, вы можете подумать о покупке Professional Excel Development, книги Роба Бови, Денниса Валлентина, Стивена Буллена и Джона Грина. Это внушительная книга (более 1100 страниц), но в ней есть несколько серьезных дискуссий о том, как сделать ваши рабочие листы и макросы максимально быстродействующими. Он также включает бесплатный инструмент под названием PerfMon, который вы можете использовать, чтобы определить время для различных частей вашего кода, чтобы сосредоточить внимание на том, что вам нужно оптимизировать.
Еще один инструмент, который настоятельно рекомендуется, — это FastExcel, надстройка, которая поможет вам ускорить работу с книгами. Он включает инструменты профилирования для измерения времени и выявления узких мест, среди других функций.
Он доступен здесь:
http://www.decisionmodels.com/fastexcel.htm
Наконец, Microsoft опубликовала отличную статью (на самом деле, три статьи) о повышении производительности ваших рабочих книг. Вы можете найти его здесь:
https://msdn.microsoft.com/library/FF700515.aspx
Статья написана специально для Excel 2010, но по-прежнему применима к другим современным версиям программы.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (10984) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.