rss
  •  

Консолидация данных. Подписываем названия листов таблиц-источников

| Категория: Приемы и советы, Работа с табличными массивами |

10

Необходимо консолидировать квартальные данные, чтобы получить годовой отчет:

cons1.png

Консолидируя данные из разных таблиц, расположенных в одной книге, но на разных листах, ответ получается не самым информативным, т.к. во втором столбце автоматически указывается имя файла-источника. Хотелось бы, чтобы во 2-м столбце были указаны названия листов:

cons2.png

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

cons3.png

Для определения адреса листа воспользуемся маленьким модулем, в котором представим формулу в виде текстовой строки (открыть редактор для вставки клавишами Alt+F11):

Public Function FormulaToText(rng As Range) As String
FormulaToText = IIf(rng.HasFormula, CStr(rng.Formula), «»)
End Function

Результат по функции будет:

cons4.png

Тип файла следует сохранить как книга Excel с поддержкой макроса.

Далее с помощью текстовых функций определим название листа (если в названии листа присутствуют пробелы, то оно заключается в апострофы):

cons5.png




Оставьте комментарий!

На сообщение “Консолидация данных. Подписываем названия листов таблиц-источников” комментариев 10

  1. Dino:

    perfecto!

  2. Михаил:

    странно, что нет стандартно в программе такой возможности.
    спасибо за решение

  3. HoHot:

    Thanks, because manually do it not so fast

  4. Joseph:

    я подозревал, что решение должно быть!

  5. Женя:

    супер!

  6. Женя:

    Подскажите, сами консолидированные данные могут обновляться?

  7. Antonio:

    смотрел ваше видео об этом, понравилось

  8. Ольга Кулешова:

    Спасибо за теплые слова

  9. Руслан:

    Хорошая статья и ролик интересный/полезный. Подобное нигде не встречал.

  10. GeorgeF:

    О, интересный вариант!