Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/321: Рейтинг темы: голосов - 321, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 25.04.2006
Сообщений: 5

Группировка строк в Excel (макрос)

25.04.2006, 19:11. Показов 64101. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, я так устала вручную группировать строки. Как написать макрос, чтобы в таблице EXCEL строки автоматом группировались по одинаковым названиям в первом столбце. Т.е. сбоку слева появлялся "плюсик" и можно было группу свернуть или развернуть.

В первом столбце названия групп повторяются, а во втором столбце уже идут точные названия, т.е. в первом столбце ткань, а во втором м.б. и драп и ситец. Я хочу сделать группу по первому столбцу ткань.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.04.2006, 19:11
Ответы с готовыми решениями:

Макрос в VBA, копирование строк указанное количество раз, и группировка
Добрый день, помогите пожалуйста с макросом, который при вводе в определенную ячейку, какой либо цифры, скопирует на новый лист такое же...

Макрос сортировки строк в Excel
Добрый вечер, помогите пожалуйста с макросом в excel 2010. Есть таблица шириной в 6 столбцев (A-F) длина не фиксированная, может быть...

Макрос для фильтрации строк в Excel.
Необходимо написать макрос в Worde Который должен как в екселя фильровать строки (результат фильтрации нужно переносить в другой...

25
3 / 3 / 0
Регистрация: 08.09.2011
Сообщений: 111
25.04.2006, 20:27
А нужен ли макрос, если есть встроенный инструмент?
Data -> Subtotals... далее по инструкции....
0
0 / 0 / 0
Регистрация: 25.04.2006
Сообщений: 5
25.04.2006, 20:37  [ТС]
Спасибо буду искать, что это такое Если у ВАс есть возможность можно чуть подробнее...
0
3 / 3 / 0
Регистрация: 08.09.2011
Сообщений: 111
25.04.2006, 20:53
По-русски это называется консолидация...
Вот здесь можно почитать:

http://www.firststeps.ru/
- MS Office
- Шаг 65 - Попробуем консолидацию
0
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
25.04.2006, 21:03
lullul,

Vi mozhete poprobovat' sovet Tsveta. Vot vam esche odin: idite v menu [bold]Data/Pivot Table[/bold] ...
V techenie 20 sekund sdelal vashu zadachu metodom Drag and Drop...

vladconn

0
0 / 0 / 0
Регистрация: 25.04.2006
Сообщений: 5
25.04.2006, 21:34  [ТС]
Про консолидацию прочитала спасибо, но мне не надо сумировать и т.д. Мне надо просто огромную таблицу привести в более сжатый вид. Одинаковые позиции по первому столбцу сгруппировать так, чтобы сбоку слева появлялся "плюсик" и можно было группу свернуть или развернуть. Чтобы клиент мог сначала выбрать нужную группу в списке и только затем с помощью плюсика её развернуть и искать подробнее что ему надо.

Я это обычно делаю в ручную с помощью меню Данные-группа и структура-группировать. Очень хочу эту процедуру автоматизировать
0
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
25.04.2006, 22:01
lullul,

Esche variant:

MSHFLEXGRID i OLEDB data control!

MSHFLEXGRID kak raz dlya vashej zadachi.

vladconn
0
0 / 0 / 0
Регистрация: 25.04.2006
Сообщений: 5
25.04.2006, 22:20  [ТС]
Всем спасибо, буду стараться
0
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
25.04.2006, 22:23
A, chto-to vrode etogo:

Visual Basic
1
2
3
4
5
6
7
8
Sub Macro1()
 
    Range("A2:C5").Select 'tkan', vid tkani, kol-vo
    Selection.Rows.Group
    Range("A7:C9").Select 'Kamen', nazvanie kamnya, kol-vo
    Selection.Rows.Group
 
End Sub
vladconn
0
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
26.04.2006, 10:41
Выделить ту часть листа где необходима массовая группировка и выполнить макрос:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub Группировка()
  ' вначале выдели строки для массовой группировки
  x = 1 ' номер колонки
  Dim rng As Range
  Set rng = Selection.EntireRow
  y = rng.Row
  yend = y + rng.Rows.Count - 1
  mes = "Выполнить массовую группировку" & vbCr & _
      "со строки " & y & " по строку " & yend & "?"
  If MsgBox(mes, vbQuestion + vbOKCancel, "") = vbCancel Then End
  ybeg = y
  ActiveSheet.Outline.SummaryRow = xlAbove
  For y = y To yend
    If Cells(y, x) <> Cells(y + 1, x) _
    Or y = yend Then
      If ybeg + 1 <= y Then Rows(ybeg + 1 & ":" & y).Rows.Group
      ybeg = y + 1
    End If
  Next
  MsgBox "Готово", vbInformation, ""
End Sub
0
rank1
30.04.2006, 23:30
У меня тут возникла сходная задачка - нужно было в зависимости от уровня группы в колонке группировать строки. Первое что пришло в голову:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Option Explicit
Sub grp() 'Группировка
 On Error GoTo errH
 Dim h: Set h = New Scripting.dictionary
 Dim x As Range
 Set x = Selection.EntireColumn.Cells.SpecialCells(xlCellTypeConstants)
    Dim i As Long, j As Long, c As Range
    For i = 1 To 10
      For Each c In x.Cells
         c.Select
         For j = i To 10
            DoEvents
            If c.Value = j Then
                 If IsEmpty(h(i)) Then
                    Set h(i) = c
                 Else
                    Set h(i) = Union(h(i), c)
                 End If
            End If
         Next j
      Next c
    Next i
 Dim k
 Dim a As Range
 For Each k In h.Keys
  For Each a In h(k).Areas
   DoEvents
   a.Rows.Group
  Next a
 Next k
 If 0 Then
errH:
   MsgBox Err.Description
 End If
 Set h = Nothing
End Sub
Sub ugp() 'Разгруппировка
On Error Resume Next
   Rows.Ungroup
   Rows.Ungroup
   Rows.Ungroup
   Rows.Ungroup
   Rows.Ungroup
   Rows.Ungroup
   Rows.Ungroup
   Rows.Ungroup
End Sub
rank1
30.04.2006, 23:31
Для работы необходимо подключить scrrun.dll - для Dictionary
rank1
30.04.2006, 23:33
...и курсор должен стоять в той колонке где уровни вложенности указаны.
Сумрак
01.05.2006, 22:11
Сначала отсортировать придется для группировки...
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
02.05.2006, 11:11
Здесь еще пример группировки, но по номерам параграфа...

http://relib.com/forums/Topic846792-11-1.aspx
0
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 14
21.02.2014, 15:24
Доброго дня! Мне нужен макрос чтобы из разноцветных строк группировал только бесцветные. Кто-нибудь может мне помочь в этом.
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
21.02.2014, 15:31
Артем 1981, приложите пример.
1
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 14
03.04.2014, 12:50
Приложил пример (2 вкладки). Макрос должен делать из таблицы во вкладке "до", таблицу такую как во вкладке "после", то есть группировать только строки без выделения цветом.
Вложения
Тип файла: xls Пример.xls (41.0 Кб, 206 просмотров)
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
03.04.2014, 13:41
Артем 1981, почему группировка "вниз"? Строки 8,9 вроде относятся к 7?
0
0 / 0 / 0
Регистрация: 21.02.2014
Сообщений: 14
03.04.2014, 14:48
Да совершенно верно п.8,9 относятся к п.7, это у меня просто настройка такая.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.04.2014, 14:48
Помогаю со студенческими работами здесь

Макрос для фильтрации строк в Excel
Помогите написать макрос в Worde Который должен как в екселя фильровать строки (результат фильтрации нужно переносить в другой документ)....

Группирование строк в EXCEL (макрос) / VBA
Ребят, добрый день!! Помогите, пожалуйста,написать макрос, чтобы в таблице EXCEL строки автоматом группировались по одинаковым названиям...

Макрос сортировки строк в Excel 2003
Здравствуйте. Возник срочный вопрос. Как решить не знаю. Стандартным методом Экселя не получается. В столбце А - участки СНТ:...

Макрос: удаление строк в таблице Excel
День добрый! Возникла такая задачка: В последнем столбце таблице будет кнопка, на которой будет макрос очистки именно этой строки ...

Макрос на удаление строк с конктретным Outlinelevel (excel)
Привет всем. Проблема заключается в том что имеется огромный массив данных excel (300000 строк). Это выгрузка из 1С состоит из 5 групп по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru