Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/12: Рейтинг темы: голосов - 12, средняя оценка - 4.67
its_dens
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 3
1

Получить все группировки по строкам Excel и их диапазоны, добавить промежуточные итоги

11.07.2013, 07:22. Просмотров 2134. Ответов 3
Метки нет (Все метки)

Привет всем.

Существует файл Excel, в котором уже имеются группировки по строкам, но нет промежуточных итогов.

1) Как добавить промежуточные итоги к уже имеющимся группам?
2) Как получить все объекты группировок по строкам на листе?
3) Как получить диапазон строк участвующих в данной группировке?

Почему-то запись макроса не помогла.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2013, 07:22
Ответы с готовыми решениями:

Промежуточные итоги и счет если - MS Excel
Добрый вечер! Помогите разобраться) Оч нужна формула подсчёта количества ячеек, содержащих текст...

Промежуточные итоги
Всем добрый день! Помогите подкорректировать макрос. Данный макрос считает средние показатели по...

Промежуточные итоги
Здравствуйте. Нужно определить, сколько сотрудников на каждой кафедре и сколько на каждой кафедре...

Промежуточные итоги
Не могу разобраться в таблице шеф дал задание сделать все информативно. В таблице есть 5-ть...

Промежуточные итоги
Доброе утро. Подскажите как подбить промежуточные итоги, чтоб потом убрать то, что сгруппировалось?...

3
its_dens
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 3
11.07.2013, 11:49  [ТС] 2
Нужно написать макрос для расставления промежутоных итогов в группах, но не понятно как определить диапазон группировки строк

Пример во вложении.
0
Вложения
Тип файла: xlsx 03_Example.xlsx (16.1 Кб, 42 просмотров)
Igor_Tr
4370 / 654 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
11.07.2013, 19:15 3
Через группы Вам тяжело будтет работать, и еще с той архитектурой, которую Вы создали. Я Вам кину код, что бы Вы просто прошлись в ручком режиме, и посмотрите, что выделяется (диапазоны, которые входять в группы). Но я бы на Вашем месте придумывал как привязаться к заголовкам.
5 - это кол-во групп. Как определить кодом - видел готовое где-то в сети. Найти не проблема.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub mGROUP()
Dim i&, j&, coll As Collection, rng1 As Range, rng2 As Range, mflag As Boolean
Set coll = New Collection
Set rng1 = Range(Cells(10, 1), Cells(78, 6))
   With rng1
      For i = 5 To 1 Step -1
         For j = .Rows.Count To 1 Step -1
               If .Rows(j).OutlineLevel = i Then
                   If mflag Then Set rng2 = Union(rng2, .Rows(j)) _
                           Else: Set rng2 = .Rows(j): mflag = True
                  If .Rows(j - 1).OutlineLevel <> i Then
                        coll.Add rng2: mflag = False: rng2.Select:   Set rng2 = Nothing
                  End If
               End If
         Next 'j
      Next 'i
   End With
End Sub
1
ikki
призрак
2826 / 882 / 118
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
11.07.2013, 21:20 4
вариант с udf (неоптимальный!)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Function притог(r As Range, Optional f As Boolean = False)
  Dim olMain&, olCur&, c As Range, t#
  olMain = Application.Caller.EntireRow.OutlineLevel
  If f Then
    If olMain = 1 Then
      For Each c In r.Rows
        olCur = c.EntireRow.OutlineLevel
        If olCur < olMain Then Exit For
        If olCur = olMain Then t = t + c.Cells(1, 1).Value
      Next
    End If
  Else
    For Each c In r.Rows
      olCur = c.EntireRow.OutlineLevel
      If olCur <= olMain Then Exit For
      If olCur = olMain + 1 Then t = t + c.Cells(1, 1).Value
    Next
  End If
  притог = t
End Function
2
Вложения
Тип файла: zip udf притог.zip (19.7 Кб, 22 просмотров)
11.07.2013, 21:20
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2013, 21:20

Промежуточные и общий итоги
Добрый день. Имеется таблицы Имя | Пол | Телефон | Возраст петя | м| 123 ...

Промежуточные итоги + Счетесли
Добрый день. Не нашел ответа на свой вопрос. После сравнения двух таблиц на одном листе через...

Промежуточные итоги по строке
Добрый днь. Подскажите пожалуйста. Есть файл, в котором посредством кнопок (от 1 до 12)...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru