Страницы: 1
RSS
Группировка/разгруппировка данных в таблице по одному столбцу
 
Здравствуйте, уважаемые программисты.
Помогите с решением.

Есть таблица, в котором некоторые однотипные строки - в столбце НОМЕР - записаны через запятую.
Это нужно чтобы таблицу сделать покомпактнее. Но иногда ее нужно отобразить как раз подробной, чтобы каждый номер (несмотря на то что он часто похож на соседний - все равно имел свой уникальный номер в строке)
Как макросом - расширить эту таблицу, чтобы строки из этой ячейки с номерами - стали бы отдельными строками (в которых каждая строка имеет свой уникальный номер и n=1) ?
И при повторном нажатии на ту же кнопку - строки сложились бы обратно - в одну строку (с записью номеров через запятую и n=сумме однотипных строк) ?
Изменено: Sanja - 02.07.2026 06:35:26
 
При развертывании таблицы, про столбец 'Номер', понятно, а вот что делать с данными из других столбцов? И что должно происходить с данными, которые находятся слева/справа от таблицы?
Покажите в файле, на другом листе
ИМХО. Ведите исходные данные в плоской таблице, а нужные группировки/итоги формируйте по ним Сводной таблицей
Изменено: Sanja - 02.07.2026 06:36:52
Согласие есть продукт при полном непротивлении сторон
 
Sanja, это не моя таблица.
 
Данные из других столбцов - дублируются (но количество должно быть равно = 1)
с данными, которые находятся слева/справа от таблицы - ничего происходить не должно. Таблица расширяется-сжимается только по вертикали, начиная от шапки - и вниз.
Области слева и справа от таблицы - неизменны.
 
Dalm, подобная тема недавно была (там еще и промежуточные номера "схлопнуты"  в точки)
 
ПавелW, Это что-то не то.
Там в длинный список все расписано, а мне нужно не менять структуру таблицы.
У меня же есть промежуточные строки - которые вообще трогать не надо.

И мне не надо создавать новую таблицу - только имеющуюся расширить (или сжать).
 
Цитата
Это что-то не то
да то это)  с небольшими нюансами
д.массив
 
ПавелW, хм.... ну.... не совсем прямо уж то.
Но в принципе - подойдет.
Спасибо.
 
См. файл
В качестве разделителя при группировке лучше не использовать системный разделитель целой и дробной частей (у меня запятая).
Изменил на точку с запятой
Числа слева от таблицы - для конроля того, что при группировке/разгруппировке данные вне таблицы не меняются
Если в правом столбце, в реальном файле, не значения, а формулы (что скорее всего) решение нужно будет дорабатывать
В любом случае это НЕ универсальное решение - предложите хозяину таблицы присмотрется к штатным Сводным
Согласие есть продукт при полном непротивлении сторон
 
Sanja, тоже неплохо.
Спасибо.
 
Макрос почему-то выдает ошибку Run-time Error "Указанное значение выходит за допустимые пределы".
И подсвечивает строку: Select Case iShape.TextFrame2.TextRange.Characters.Text          
Как это исправить ?
Изменено: Dalm - 13.07.2026 23:40:27
 
Цитата
Dalm написал: почему-то выдает ошибку
Потому что в изначальном файле-примере не было столько разных фигур, разбросанных по листу
Цитата
Dalm написал: Как это исправить ?
Строку
Код
Set iShape = ActiveSheet.Shapes(1)

Замените строкой
Код
Set iShape = ActiveSheet.Shapes(btName)
Согласие есть продукт при полном непротивлении сторон
 
Sanja, Спасибо
Страницы: 1
Читают тему
Наверх