Страницы: 1
RSS
Новый формат для сгруппированных таблиц
 
Помогите найти решение.
На работе часто сталкиваюсь со сгруппированными таблицами, которые необходимо привести к совершенно другому формату.
Понимаю, что модно сделать в ручную, но это занимает очень много времени...

Наверняка есть решение!

P.S. не нашла на форуме решение, если была киньте ссылку.
Спасибо!
Изменено: ELena951 - 04.07.2017 10:59:53
 
В Приемах Ну и в Гугле:
Изменено: kuklp - 04.07.2017 11:09:26
Я сам - дурнее всякого примера! ...
 
Нужно именно перенести фамилии в первый и второй столбец.
Данный макрос не выносит...
Изменено: ELena951 - 04.07.2017 11:40:28
 
Вручную или при помощи вот такой UDF проставляете уровень иерархии:
Код
Public Function GETLEVEL(rng As Range) As Byte
If rng.Count > 1 Then
    GETLEVEL = CVErr(xlErrRef)
Else
    GETLEVEL = rng.EntireRow.OutlineLevel
End If
End Function

Дальше см. в файле
F1 творит чудеса
 
Спасибо.
Изменено: ELena951 - 04.07.2017 15:09:17
 
Макрос
Код
Sub iGroup()
Dim i As Long
Dim n As Long
Dim iLastRow As Long
  iLastRow = [A2].End(xlDown).Row
    n = 17
  For i = 1 To iLastRow
    If Cells(i, "A").EntireRow.OutlineLevel = 1 Then
      Cells(n, "A") = Cells(i, "A")
    End If
    If Cells(i, "A").EntireRow.OutlineLevel = 2 Then
      Cells(n, "B") = Cells(i, "A")
    End If
    If Cells(i, "A").EntireRow.OutlineLevel = 3 Then
      Cells(n, "C") = Cells(i, "A")
      n = n + 1
    End If
  Next
    iLastRow = Cells(Rows.Count, "C").End(xlUp).Row
  With Range("A17:C" & iLastRow)
    .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
    .Value = .Value
  End With
End Sub
Страницы: 1
Наверх