Как сгруппировать строки на основе значений ячеек - Excel VBA - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть список предметов, организованных в:

(столбец «А»)

  • проект
  • деятельность
  • под-деятельности

У них есть определенный индекс (в столбце «B»)

  • Индекс проекта = 0
  • Индекс активности = 1
  • Индекс суб-активности = 2

Пример данных выглядит следующим образом:

Колонка "А"

  • ProjectName
  • Задание 1
  • Подвид деятельности 1
  • Подвид деятельности 2
  • Задание 2
  • Задание 3
  • Подвид деятельности 1

Колонка "B"

  • 0
  • 1
  • 2
  • 2
  • 1
  • 1
  • 2

Я пробовал с этим:

Public Sub RaggruppaProgetto()

  Dim lvlData, rCel As Range

  Set lvlData = Range("B" & TrovaInizioProgetti(activeCell), Range("B" & Rows.Count).End(xlUp))

  With lvlData
    On Error Resume Next
    .Rows.Ungroup
    .Rows.EntireRow.Hidden = False
    On Error GoTo 0
  End With

  For Each rCel In lvlData

    If rCel = "2" Then
      Rows(rCel.Row).Group
      rCel.EntireRow.Hidden = True
    End If

  Next

End Sub

Я ожидаю, что при запуске макроса все уровни 2 должны сгруппироваться под уровнем 1, а все уровни 1 (суровень 2 сгруппирован) должен группироваться под уровнем 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...