Имеется таблица, которой каждой строке присвоен номер уровня 1 1.1 1.2 1.2.1 1.2.2 2 2.1 2.1.1 2.1.2 Количество строк меняется каждый раз. Необходимо осуществлять автоматическую группировку каждого уровня при помощи макроса Прикладываю пример таблицы
Имеется таблица, которой каждой строке присвоен номер уровня 1 1.1 1.2 1.2.1 1.2.2 2 2.1 2.1.1 2.1.2 Количество строк меняется каждый раз. Необходимо осуществлять автоматическую группировку каждого уровня при помощи макроса Прикладываю пример таблицыVilgelm
Ну или можно так, и тогда можно не удалять задвоение точек [vba]
Код
Public Sub GroupRows_1() Dim lrow As Long, i As Long, n As Long Cells.ClearOutline With ActiveSheet lrow = .Cells(.Rows.Count, 2).End(xlUp).Row For i = 5 To lrow If .Cells(i, 2) <> "" Then s = Split(.Cells(i, 2), ".") If UBound(s) = 0 Then n = 1 Else n = UBound(s) + 1 For j = 0 To UBound(s) If Trim(s(j)) = "" Then n = n - 1 Next .Rows(i).OutlineLevel = n .Cells(i, 2).IndentLevel = n - 1 End If Next i End With End Sub
[/vba]
Ну или можно так, и тогда можно не удалять задвоение точек [vba]
Код
Public Sub GroupRows_1() Dim lrow As Long, i As Long, n As Long Cells.ClearOutline With ActiveSheet lrow = .Cells(.Rows.Count, 2).End(xlUp).Row For i = 5 To lrow If .Cells(i, 2) <> "" Then s = Split(.Cells(i, 2), ".") If UBound(s) = 0 Then n = 1 Else n = UBound(s) + 1 For j = 0 To UBound(s) If Trim(s(j)) = "" Then n = n - 1 Next .Rows(i).OutlineLevel = n .Cells(i, 2).IndentLevel = n - 1 End If Next i End With End Sub
Pelena, Большое спасибо!!! Но возник еще один нюанс. На одном листе может располагаться несколько таблиц разделенными несколькими строками Пример во вложении
Pelena, Большое спасибо!!! Но возник еще один нюанс. На одном листе может располагаться несколько таблиц разделенными несколькими строками Пример во вложенииVilgelm