Схема (группа) в Excel требует строки сводки, которая в зависимости от настроек, установленных на вашем компьютере, должна располагаться ниже (по умолчанию) или над каждым уровнем схемы.
Ваша ситуация
Что происходит в вашей электронной таблице, так это то, что в настоящее время у вас есть настройки по умолчанию, т.е. итоговая строка должна быть ниже текущего уровня структуры. И вы группируете строки 9,10 и 13.
Я предполагаю, что разработчик попытался сгруппировать effort 1
и effort 2
, и это не сработало, потому что сгруппировать effort 2
без выход из дополнительной строки будет выглядеть следующим образом:
Примечание. См. 4 точки справа от строк с 13 по 16
Решение Excel
В этом случае вам необходимо переключить настройки, чтобы итоговые строки находились выше детализации
Как настроить параметры
Настройки схемы:
Текущая конфигурация:
Настроенная конфигурация
Это позволило бы получить в итоговой строке выше детали, подобные этой:
А при свертывании:
Решение VBA
Теперь о коде VBA, который у вас есть, хотя он, конечно, может быть улучшенным, я понимаю, что выполняет ваши требования.
Предлагаю специально проверить эти два блока:
Блок № 1:
''group new efforts
If foundrownext <= 1 Then
foundrownext = rowstart + 1
End If
sht.Rows(foundrow + 2 & ":" & foundrownext + i).Select
Selection.Rows.Group
Блок № 2
''ungroup and group old project data
rowend = foundrownext + i - 1
sht.Rows(rowstart + 1 & ":" & rowend).Select
Selection.Rows.Group
Я бы предложил Разработчик прочитает эту статью о том, как и почему следует избегать выбора в Excel VBA .
Пожалуйста, дайте мне знать, если решение работает, и не забудьте пометить ответ (поставьте галочку отметьте слева), если это так.