Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Как сделать формулу, которая будет брать данные со строки сводной таблицы и меняться в случае изменения её размера.
 
Всем добры день!

Пытаюсь создать сводную табличку для анализа динамики задолжности. Для целей анализа написал пользовательскую функцию, которая получат диапазон значений и на выходе выдаёт один из 4-х результатов:
- погашена (значение за последний интервал = пусто)
- стабильность (все значения в диапазоне равны)
- меняется (есть падения)
- рост (есть увеличения, нет падений)

Указанная функция применяется к строкам сводной таблицы и если размер(ширина) таблицы постоянна, то всё хорошо, но как только я меняю ширину (в файле примере - фильтр по году), функция начинает выдавать кривые значения, так как диапазон входных значений не меняется и начинает захватывать сводную таблицу + пустые ячейки.

Проблема состоит в том, чтобы функция в столбце 1 в сводной таблицы и условное форматирование и спарклайн во втором столбце менялись при установке фильтра.
Я не волшебник, я только учусь.
 
Добавлены в Ваш код эти строки:
Код
Dim iRes As Boolean, ptbl As PivotTable
Set ptbl = ActiveSheet.PivotTables(1)
Set rngX = rngX.Resize(1, ptbl.TableRange1.Columns.Count - 2)

И в формуле ссылка на заранее несколько столбцов вперед - до столбца "Z".
 
Karataev, спасибо, идея сразу привязать функцию к сводной таблице открывает большой простор для фантазии.

А по спарклайнам идей нет?

З.Ы. Пока спрашивал про спарклайны, пришла идея их перерисовывать при Worksheet_PivotTableUpdate :). Муторно, много места для ошибок, но, похоже, придётся пробовать.
Я не волшебник, я только учусь.
 
Wiss, про спарклайны - это уже другой вопрос. В названии темы ведь не упоминаются спарклайны. Создайте новую тему про спарклайны. Но я не знаю, что с ними сделать. Я просто написал Вам о правилах форума.
Страницы: 1
Читают тему (гостей: 1)