Найти в Дзене
Реальный Эксель

Сортировка полей сводной таблицы по двойному щелчку

𝘊𝘵𝘳𝘭+𝘤, 𝘊𝘵𝘳𝘭+𝘷 Выпуск 001 Признаться замучился искать сделанные ранее наработки. Поэтому буду использовать это место в том числе и в качестве собственной записной книжки. Вы тоже не стесняйтесь и подглядывайте. Этот текст нужно просто поместить в модуль листа и сводные будут сортироваться волшебным образом. Просто делаете двойной щелчок и всё. Чтобы открыть модуль листа - жмете правой кнопкой на ярлычке листа и выбираете "Показать код". вставляете текст в белую область. Получаете удовольствие. 𝘗𝘳𝘪𝘷𝘢𝘵𝘦 𝘚𝘶𝘣 𝘞𝘰𝘳𝘬𝘴𝘩𝘦𝘦𝘵_𝘉𝘦𝘧𝘰𝘳𝘦𝘋𝘰𝘶𝘣𝘭𝘦𝘊𝘭𝘪𝘤𝘬(𝘉𝘺𝘝𝘢𝘭 𝘛𝘢𝘳𝘨𝘦𝘵 𝘈𝘴 𝘙𝘢𝘯𝘨𝘦, 𝘊𝘢𝘯𝘤𝘦𝘭 𝘈𝘴 𝘉𝘰𝘰𝘭𝘦𝘢𝘯) 𝘖𝘯 𝘌𝘳𝘳𝘰𝘳 𝘎𝘰𝘛𝘰 𝘌 'Автор - Тарануха Павел, канал на Ютубе: Реальный Эксель 𝘍𝘪𝘳𝘴𝘵𝘗𝘪𝘷𝘰𝘵𝘊𝘰𝘭 = 𝘛𝘢𝘳𝘨𝘦𝘵(1, 1).𝘗𝘪𝘷𝘰𝘵𝘛𝘢𝘣𝘭𝘦.𝘛𝘢𝘣𝘭𝘦𝘙𝘢𝘯𝘨𝘦1.𝘊𝘰𝘭𝘶𝘮𝘯 'Определяем первый столбец диапазона размещения сводной таблицы 𝘚𝘰𝘳𝘵𝘪𝘯𝘨𝘍𝘪𝘦𝘭𝘥𝘕𝘢𝘮𝘦 = 𝘊𝘦𝘭𝘭𝘴(𝘛𝘢𝘳𝘨𝘦𝘵(1, 1).𝘙𝘰𝘸, 𝘍𝘪𝘳𝘴?

𝘊𝘵𝘳𝘭+𝘤, 𝘊𝘵𝘳𝘭+𝘷 Выпуск 001

Признаться замучился искать сделанные ранее наработки.

Поэтому буду использовать это место в том числе и в качестве собственной записной книжки.

Вы тоже не стесняйтесь и подглядывайте.

Этот текст нужно просто поместить в модуль листа и сводные будут сортироваться волшебным образом.

Просто делаете двойной щелчок и всё.

Чтобы открыть модуль листа - жмете правой кнопкой на ярлычке листа и выбираете "Показать код".

вставляете текст в белую область.

Получаете удовольствие.

𝘗𝘳𝘪𝘷𝘢𝘵𝘦 𝘚𝘶𝘣 𝘞𝘰𝘳𝘬𝘴𝘩𝘦𝘦𝘵_𝘉𝘦𝘧𝘰𝘳𝘦𝘋𝘰𝘶𝘣𝘭𝘦𝘊𝘭𝘪𝘤𝘬(𝘉𝘺𝘝𝘢𝘭 𝘛𝘢𝘳𝘨𝘦𝘵 𝘈𝘴 𝘙𝘢𝘯𝘨𝘦, 𝘊𝘢𝘯𝘤𝘦𝘭 𝘈𝘴 𝘉𝘰𝘰𝘭𝘦𝘢𝘯)

𝘖𝘯 𝘌𝘳𝘳𝘰𝘳 𝘎𝘰𝘛𝘰 𝘌 'Автор - Тарануха Павел, канал на Ютубе: Реальный Эксель

𝘍𝘪𝘳𝘴𝘵𝘗𝘪𝘷𝘰𝘵𝘊𝘰𝘭 = 𝘛𝘢𝘳𝘨𝘦𝘵(1, 1).𝘗𝘪𝘷𝘰𝘵𝘛𝘢𝘣𝘭𝘦.𝘛𝘢𝘣𝘭𝘦𝘙𝘢𝘯𝘨𝘦1.𝘊𝘰𝘭𝘶𝘮𝘯 'Определяем первый столбец диапазона размещения сводной таблицы

𝘚𝘰𝘳𝘵𝘪𝘯𝘨𝘍𝘪𝘦𝘭𝘥𝘕𝘢𝘮𝘦 = 𝘊𝘦𝘭𝘭𝘴(𝘛𝘢𝘳𝘨𝘦𝘵(1, 1).𝘙𝘰𝘸, 𝘍𝘪𝘳𝘴𝘵𝘗𝘪𝘷𝘰𝘵𝘊𝘰𝘭).𝘗𝘪𝘷𝘰𝘵𝘍𝘪𝘦𝘭𝘥 'Определяем имя поля сводной таблицы по которому будем сортировать

𝘴 = 3 - 𝘛𝘢𝘳𝘨𝘦𝘵.𝘗𝘪𝘷𝘰𝘵𝘛𝘢𝘣𝘭𝘦.𝘗𝘪𝘷𝘰𝘵𝘍𝘪𝘦𝘭𝘥𝘴(𝘚𝘰𝘳𝘵𝘪𝘯𝘨𝘍𝘪𝘦𝘭𝘥𝘕𝘢𝘮𝘦).𝘈𝘶𝘵𝘰𝘚𝘰𝘳𝘵𝘖𝘳𝘥𝘦𝘳 'Меняем направление сортировки

𝘴 = 𝘐𝘐𝘧(𝘴 > 2, 1, 𝘴) 'Для случаев, когда сортировка включается впервые, включаем начальную сортировку

𝘛𝘢𝘳𝘨𝘦𝘵.𝘗𝘪𝘷𝘰𝘵𝘛𝘢𝘣𝘭𝘦.𝘗𝘪𝘷𝘰𝘵𝘍𝘪𝘦𝘭𝘥𝘴(𝘚𝘰𝘳𝘵𝘪𝘯𝘨𝘍𝘪𝘦𝘭𝘥𝘕𝘢𝘮𝘦).𝘈𝘶𝘵𝘰𝘚𝘰𝘳𝘵 𝘴, 𝘛𝘢𝘳𝘨𝘦𝘵.𝘗𝘪𝘷𝘰𝘵𝘍𝘪𝘦𝘭𝘥.𝘕𝘢𝘮𝘦 'Применяем выбранное на предыдущем этапе направление сортировки

𝘊𝘢𝘯𝘤𝘦𝘭 = 𝘛𝘳𝘶𝘦

𝘌:

𝘌𝘯𝘥 𝘚𝘶𝘣