Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Ссылка на область в сводной - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Ссылка на область в сводной (Макросы/Sub)
Ссылка на область в сводной
user0 Дата: Суббота, 18.11.2017, 17:02 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация: 8 ±
Замечаний: 0% ±

Excel 2013, 2016
Доброго времени суток,

Для раскраски определенных частей графика необходимо сравнить даты диапазона из сводной (обведено рамкой на картинке) с датами из колонки L, листа data.

Нахожу диапазон по примеру от Peltier (там в самом конце "Complex Range"), но почему-то при таком способе:
- во-первых, выделяемый диапазон смещается на один ряд вниз (выделено желтым).
- во-вторых, ладно бы он смещался для всех одинакого, но для последнего "name3" конец диапазона не смещается вниз на один, а заканчивается на последней строке сводной.

Подскажите, пожалуйста, что не так?
[vba]
Код
Set ptRng = Intersect(pt.PivotFields("name").PivotItems("name1").DataRange.EntireRow, pt.PivotFields("start1").DataRange)
[/vba]

к сожалению файл не влез в 100кб лимит, залил на мегу Внешняя ссылка удалена администрацией - это нарушение п.3 Правил форума

UPD. переделал файл с нуля и он стал меньше места занимать
еще заметил что после нескольких изменений цвета кнопкам и сохранения размер файла каждый раз увеличивается на пару килобайт,
собственно так первый файл и вырос с 50 до 160кб.. очень странно, из-за чего так происходит?
- удаление графика не возвращает файл к первоначальному размеру
- на листах лишних данных тоже нет (ctrl+end показывает только занятые данными области)
- в настройках сводной отключено хранение исходных данных и показ деталей
К сообщению приложен файл: q2.xlsm(57Kb)


Сообщение отредактировал user0 - Воскресенье, 19.11.2017, 08:06
 
Ответить
СообщениеДоброго времени суток,

Для раскраски определенных частей графика необходимо сравнить даты диапазона из сводной (обведено рамкой на картинке) с датами из колонки L, листа data.

Нахожу диапазон по примеру от Peltier (там в самом конце "Complex Range"), но почему-то при таком способе:
- во-первых, выделяемый диапазон смещается на один ряд вниз (выделено желтым).
- во-вторых, ладно бы он смещался для всех одинакого, но для последнего "name3" конец диапазона не смещается вниз на один, а заканчивается на последней строке сводной.

Подскажите, пожалуйста, что не так?
[vba]
Код
Set ptRng = Intersect(pt.PivotFields("name").PivotItems("name1").DataRange.EntireRow, pt.PivotFields("start1").DataRange)
[/vba]

к сожалению файл не влез в 100кб лимит, залил на мегу Внешняя ссылка удалена администрацией - это нарушение п.3 Правил форума

UPD. переделал файл с нуля и он стал меньше места занимать
еще заметил что после нескольких изменений цвета кнопкам и сохранения размер файла каждый раз увеличивается на пару килобайт,
собственно так первый файл и вырос с 50 до 160кб.. очень странно, из-за чего так происходит?
- удаление графика не возвращает файл к первоначальному размеру
- на листах лишних данных тоже нет (ctrl+end показывает только занятые данными области)
- в настройках сводной отключено хранение исходных данных и показ деталей

Автор - user0
Дата добавления - 18.11.2017 в 17:02
krosav4ig Дата: Воскресенье, 19.11.2017, 13:51 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1486
Репутация: 611 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте. Попробуйте вот так[vba]
Код
pt.PivotSelect "name[" & sName & "]start1", 1
Set ptRng = Selection
[/vba]


(_)Õvõ(_)
 
Ответить
СообщениеЗдравствуйте. Попробуйте вот так[vba]
Код
pt.PivotSelect "name[" & sName & "]start1", 1
Set ptRng = Selection
[/vba]

Автор - krosav4ig
Дата добавления - 19.11.2017 в 13:51
user0 Дата: Воскресенье, 19.11.2017, 15:43 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация: 8 ±
Замечаний: 0% ±

Excel 2013, 2016
Через PivotSelect ссылается на ту область которая нужна,
но работает только на активном листе (не нашел как сделать чтобы оно работало на неактивном/скрытом), да и хотелось бы избежать выделения.


Сообщение отредактировал user0 - Воскресенье, 19.11.2017, 16:32
 
Ответить
СообщениеЧерез PivotSelect ссылается на ту область которая нужна,
но работает только на активном листе (не нашел как сделать чтобы оно работало на неактивном/скрытом), да и хотелось бы избежать выделения.

Автор - user0
Дата добавления - 19.11.2017 в 15:43
user0 Дата: Вторник, 21.11.2017, 13:28 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация: 8 ±
Замечаний: 0% ±

Excel 2013, 2016
офтоп
Размер файла увеличивается из-за раскрашивания найденной области в сводной:
[vba]
Код
ptRng.Interior.Color = vbYellow
[/vba]
почему-то изменение стилей и форматирование отдельного столбца сводной не помогали, зато сработало:
[vba]
Код
ThisWorkbook.ActiveSheet.Cells.ClearFormats
[/vba]


Сообщение отредактировал user0 - Вторник, 21.11.2017, 13:33
 
Ответить
Сообщениеофтоп
Размер файла увеличивается из-за раскрашивания найденной области в сводной:
[vba]
Код
ptRng.Interior.Color = vbYellow
[/vba]
почему-то изменение стилей и форматирование отдельного столбца сводной не помогали, зато сработало:
[vba]
Код
ThisWorkbook.ActiveSheet.Cells.ClearFormats
[/vba]

Автор - user0
Дата добавления - 21.11.2017 в 13:28
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Ссылка на область в сводной (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!