Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 07.08.2007, 17:16   #1
buk
Пользователь
 
Регистрация: 27.11.2006
Сообщений: 26
Вопрос Автоматическая группировка

В Excel-м файле имеются строчки, которые можно группировать.
Есть ли какой-нибудь макрос, при помощи которого можно автоматически сгруппировать эти строчки. Дело в том, что строчек, которые нужно группировать много, а в ручную группировать лень.
buk вне форума
Старый 07.08.2007, 21:31   #2
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Нужные строки сгруппировать можно так :
Код:
Worksheets(1).Rows("3:5").Rows.Group
Кроме того, если структура таблицы допускает возможность создания структуры, то :
Код:
Worksheets(1).Range("A1:C100").AutoOutline
Что касается Вашего вопроса, то для автоматической группировки строк можно воспользоваться событиями рабочего листа/книги, что позволит осуществить задуманное, например, при активации нужной ячейки/диапазона или изменении данных в этих ячейках. Однако, если номера строк известны заранее и меняться не будут, то можно забыть о термине "автоматически" и сгруппировать нужные строки всего один раз.
pashulka вне форума
Старый 08.08.2007, 11:02   #3
buk
Пользователь
 
Регистрация: 27.11.2006
Сообщений: 26
По умолчанию

спасибо, за ответ, но это не совсем то.
Мне нужно сделать так: у меня 10 листов и в них уже имеется группировка (сделанная через данные/ группа и структура/группировать).
Дело в том, что для некоторых людей мне нужно отправить без группировки, а для других с группировкой. Поэтому для тех, кому нужно с группировкой, мне нужно пройтись по всем листам и сделать её.
Так вот, мне нужен макрос с помощью которого сгруппируются все нужные строчки. А в макросе : Worksheets(1).Rows("7:41").Rows.Gro up - группировка появляется, но нужно ещё мышкой нажать, чтобы строчки сгруппировалась.
buk вне форума
Старый 08.08.2007, 20:23   #4
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Для решения этой задачи можно использовать метод ShowLevels объекта Outline, например :
Код:
Worksheets(1).Outline.ShowLevels RowLevels:=1
pashulka вне форума
Старый 09.08.2007, 09:59   #5
buk
Пользователь
 
Регистрация: 27.11.2006
Сообщений: 26
По умолчанию

Да, спасибо. Это то, что нужно.
buk вне форума
Старый 20.09.2007, 13:35   #6
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

великое спасибо pashulka !
мне тоже пригодилось )
Берегите друг друга!
Virtson вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление дубликатов и группировка строк Serglen Microsoft Office Excel 2 30.07.2008 15:51
группировка Мингиян Microsoft Office Excel 2 23.04.2008 23:43
Группировка SveSve Microsoft Office Excel 3 21.03.2008 11:50
Группировка по окончанию строки Remein Microsoft Office Excel 2 13.09.2007 11:39
Группировка в QReport или в RaveReports Paul Hindenburg БД в Delphi 1 24.08.2007 14:24