Макрос Супертаблицы

Книга Супертаблицы содержит макрос, предназначенный для решения целого комплекса задач, связанных, главным образом, с устойчивостью работы Супертаблицы и обеспечением пользователя возможностями, отсутствующими в Excel.

Защита Супертаблицы

Для всех вычислений, выполняемых Супертаблицы используются стандартные инструменты Excel – формулы и именованные диапазоны со справочными данными. Кроме того, для более комфортного взаимодействия пользователя с Супертаблицей используются такие функции Excel как "умные" и сводные таблицы, условное форматирование ячеек, диаграммы и т. п..  Всё это представляет собой достаточно сложную и весьма хрупкую конструкцию. Макрос Супертаблицы защищает её от непреднамеренного повреждения пользователем, ограничивая ему доступ к данным Супертаблицы и возможности по редактированию данных на доступных листах.

 

Нивелирование "побочных эффектов" защиты

Для ограничения возможностей пользователя по редактированию доступных ему данных макросом используются специально предназначенные для этого настройки Excel. К сожалению, эти настройки не отличаются особой избирательностью – ограничения накладываются сразу на большой объём функций. В результате "под нож" наравне с потенциально "опасными" для структуры Супертаблицы функциями попадают и вполне безобидные, вроде добавления строк или выравнивания их высоты по содержимому. Так что макросу приходится брать на себя выполнение некоторых, им же запрещённых, функций: выравнивать высоту строк, добавлять и удалять строки при нажатии на соответствующие (им же создаваемые) кнопки под таблицами на листах Супертаблица и Распределители, и т. п.

Кнопки Добавить.jpg

Сцены

Количество столбцов Супертаблицы очень велико, и, чтобы работа с таким огромным числом столбцов не превратилась для пользователя в кошмар, макрос формирует по команде пользователя т. н. сцены – режимы, в каждом из которых отражается какой-то определённый набор столбцов, соответствующий тому или иному процессу. Каждая сцена воспроизводится нажатием соответствующей кнопки в верхней части Супертаблицы. Всего предусмотрено десять кнопок сцен, активная сцена выделяется красным цветом текста на кнопке:

Кнопки Сцен.jpg

Параметры цепи

Макрос выполняет фильтрацию строк одной цепи с сортировкой отфильтрованных строк по возрастанию уровня линии.  Для того, чтобы выполнить такую фильтрацию, достаточно "встать" на любую ячейку в строке с нагрузкой в конце интересующей вас цепи и нажать кнопку "Параметры цепи":

Кнопка Параметры цепи.jpg

Надпись на кнопке после этого изменится на "Снять фильтр", нажатие на неё отменит фильтрацию и вернёт строки Супертаблицы в исходное состояние: 

Кнопка Снять фильтр.jpg

Фиксация значений и восстановление вычислений

Супертаблица динамически реагирует на любые действия, выполняемые пользователем. Если пользователю понадобится зачем-то "заморозить" те или иные значения, сформированные Супертаблицей, он может воспользоваться кнопкой "Зафиксировать значение". Отменить фиксацию значения и вернуться к его вычислению можно нажатием на кнопку "Восстановить вычисления":

Кнопки Зафиксировать и Восстановит.jpg

Для того, чтобы вычисления восстановились, необходимо, чтобы, по крайней мере, в одной ячейке столбца, в котором пользователь пытается восстановить вычисления, сохранялась формула. Так что будьте внимательны с фиксацией значений, не зафиксируйте случайно их во всём столбце, чтобы не "убить" в нём формулу.

Вариацией на тему восстановления вычислений является кнопка "Вернуться к усреднённым значениям Pк.ном и uк" на листе "Трансформатор":

Кнопки Вернуться к усреднённым значениям

Обновление данных дэшборда

Диаграммы на листе "Дэшборд"  используют данные сводных таблиц, расположенных на специально предназначенном для этого листе, скрытом от пользователя. Обновление данных в этих сводных таблицах выполняется макросом по нажатии пользователем соответствующей кнопки на листе "Дэшборд":

Кнопка ОБновить данные.jpg