Группировка в Excel

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
onell
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 131
Зарегистрирован: 21.06.2006 (Ср) 16:04
Откуда: 2taev City

Группировка в Excel

Сообщение onell » 05.09.2006 (Вт) 15:58

Данные сгруппированы в Excel вот таким образом (на рисунке)

Объясните пожалуйста как программно из VB обращаться к разделам группировки?
Вложения
1.jpg
1.jpg (113.52 Кб) Просмотров: 233

Alex_2005
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 242
Зарегистрирован: 07.04.2005 (Чт) 17:09
Откуда: Germany, Baden-Wurttemberg, Bietigheim-Bissingen

Сообщение Alex_2005 » 05.09.2006 (Вт) 16:40

запускаешь макрос в екселе. обрщаешься к тем или иным группам, кликаешь,что то изменяешь. это всё записывается в макросе. мотом открываешь в VBA твой макрос и там подробно расписанны все твои действия. копируешь код в свою программу, перед этим создав экземпляр класса екселя. и добовляешь к каждой строчке кода ещё XLS.Sheets(1), где XLS является новым экземпляром класс EXCEL.Application, Sheet(1) - номер вкладки к данным которой ты обращаешься.
Последний раз редактировалось Alex_2005 05.09.2006 (Вт) 16:58, всего редактировалось 1 раз.
Guten Morgen! А если не Guten, то тогда это и не Morgen...

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Re: Группировка в Excel

Сообщение Nicky » 05.09.2006 (Вт) 16:57

onell писал(а):Данные сгруппированы в Excel вот таким образом (на рисунке)

Объясните пожалуйста как программно из VB обращаться к разделам группировки?

Заклинания типа
Код: Выделить всё
ExecuteExcel4Macro "SHOW.DETAIL(1,25,FALSE,,18)"

onell
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 131
Зарегистрирован: 21.06.2006 (Ср) 16:04
Откуда: 2taev City

Сообщение onell » 05.09.2006 (Вт) 17:34

при открытии и закрытии группы в макрос ничего не записывается :( .
Мне нужно просто понять как отличить является ли ячейка заголовком (т.е. как в treeview предок), или просто содержит одну из записей прайса.

Alex_2005
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 242
Зарегистрирован: 07.04.2005 (Чт) 17:09
Откуда: Germany, Baden-Wurttemberg, Bietigheim-Bissingen

Сообщение Alex_2005 » 06.09.2006 (Ср) 8:54

в макрос запысывается даже перемищение скрола. выложи твой эксель файл.
Guten Morgen! А если не Guten, то тогда это и не Morgen...

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 06.09.2006 (Ср) 11:12

Alex_2005, мог бы проверить и убедиться в правоте onell...

onell, в твоем случае можно, насколько я понял, проверять форматирование ячейки. Есть еще кривой способ - сделать

ActiveSheet.Outline.ShowLevels RowLevels:=2

(или 1, или 3), и проверить, какие Rows у тебя Hidden, а какие нет. Но это собьет все текущие открытые и закрытые группы.

Есть ли способ понять, в какую группу и в какой позиции входит ряд, я не нашел. Вроде бы, нет.
Быть... или не быть. Вот. В чём вопрос?

Alex_2005
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 242
Зарегистрирован: 07.04.2005 (Чт) 17:09
Откуда: Germany, Baden-Wurttemberg, Bietigheim-Bissingen

Сообщение Alex_2005 » 06.09.2006 (Ср) 16:28

прошу прощения, если я был через чур категоричным в своих высказываниях... :( может и не идёт... действительно не проверил... но сейчас протестируем... :wink:

а это вот для размышления:
http://www.gotdotnet.ru/LearnDotNet/NETFramework/22054.aspx
Guten Morgen! А если не Guten, то тогда это и не Morgen...

onell
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 131
Зарегистрирован: 21.06.2006 (Ср) 16:04
Откуда: 2taev City

Сообщение onell » 08.09.2006 (Пт) 10:41

спасибо всем! не стал мучаться, решил задачу, поставленную передо мной, другим способом :roll:


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 101

    TopList