powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / После Subtotal определить строки с итогоами?
6 сообщений из 6, страница 1 из 1
После Subtotal определить строки с итогоами?
    #33888534
АлексейЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C помощью метода Subtotal добавил промежуточные итоги.
Как определить, в каких строках выходит этот итог, что бы их расскрасить в ругой цвет?
...
Рейтинг: 0 / 0
После Subtotal определить строки с итогоами?
    #33890237
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдумчивым изучением проперти IndentLevel применительно к коллекции Rows
...
Рейтинг: 0 / 0
После Subtotal определить строки с итогоами?
    #33890799
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как вариант
Код: plaintext
1.
2.
3.
4.
5.
Sub test()
Dim R As Range
  For Each R In Columns( 2 ).SpecialCells(xlCellTypeFormulas)
    MsgBox R.EntireRow.Address
  Next R
End Sub
...
Рейтинг: 0 / 0
После Subtotal определить строки с итогоами?
    #33891006
АлексейЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlвдумчивым изучением проперти IndentLevel применительно к коллекции Rows
Не понятно, поясните пожалуйста.

sergeyvgкак вариант
Код: plaintext
1.
2.
3.
4.
5.
Sub test()
Dim R As Range
  For Each R In Columns( 2 ).SpecialCells(xlCellTypeFormulas)
    MsgBox R.EntireRow.Address
  Next R
End Sub

Спасибо Сергей. Ваш спосаб к сожалению не подошел, т.к. в этом столбце у меня все значения рассчитываются по формулам.
Пока вышел из положения таким способом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Set objRange = objExcel.Selection.Find("ПРОМЕЖУТОЧНЫЕ.ИТОГИ", LookIn:=xlFormulas)

        If Not objRange Is Nothing Then
            firstAddress = objRange.Address
            Do
                objSheet.Rows(objRange.Row).Interior.ColorIndex =  15 
                With Range(objSheet.Cells(objRange.Row,  1 ), objSheet.Cells(objRange.Row, objRange.Column -  1 ))
                    .Merge
                    .HorizontalAlignment = xlLeft
                End With
                Set objRange = objExcel.Selection.Find("ПРОМЕЖУТОЧНЫЕ.ИТОГИ", After:=objRange, LookIn:=xlFormulas)
                If objRange Is Nothing Then Exit Do
            Loop While objRange.Address <> firstAddress
        End If
но тема не закрыта, т.к. ссылаться на формулу "ПРОМЕЖУТОЧНЫЕ.ИТОГИ", с моей точки зрения не корректно, т.к. в англоязычном EXCEL'е это формула будет другой. Т.е. теряем межязыковую универсальность.
Есть еще идеи?
...
Рейтинг: 0 / 0
После Subtotal определить строки с итогоами?
    #33893104
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейЕ White Owlвдумчивым изучением проперти IndentLevel применительно к коллекции Rows
Не понятно, поясните пожалуйста.
Прошу прощения, OutlineLevel конечно. Для простого одноуровнего Subtotal с одной группировкой по одному полю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
for each r in subtotal_table_range.rows
   if r.outlinelevel =  2  then
       ' строка r содержит промежуточные итоги
   elseif r.outlinelevel =  1  then
       ' строка r содержит глобальный итог
       ' либо не находится внутри subtotal таблицы вообще
   else
       ' строка r содержит данные
   end if
next
Для более сложных группировок (вложеных по двум и более полям) прийдется подправить константы :) В общем смотри слева от листа рисуется дерево группировки - вот его и используй.
...
Рейтинг: 0 / 0
После Subtotal определить строки с итогоами?
    #33894283
АлексейЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, White Owl.
Именно это мне и нужно.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / После Subtotal определить строки с итогоами?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]