Wenn Indent, dann Nummemrnerweiterung
12.11.2017 17:27:38
cH_rI_sI
Ich habe mal einen Masterplan entwickelt und da nutze ich kombiniert mit Indent eine "Nummernerweiterung" sowie automatische Nummerierung wie im u.a. Scrennshot ersichtlich:
Nun möchte ich aber immer 3 Zeilen verbinden und die Zahl soll trotzdem fortlaufend sein, was es aber nicht ist:
Was muss ich am u.a. Code ändern, damit die verbundenen Zeilen nur einmal gezählt werden? Ich blicke bei u.a. Code nicht durch:
Sub Nummerierung_erweitern()
Dim a(), i&, k&, maxZ&, ll&, aus$()
Const maxArr = 4
'maxZ = (Range("B" & Rows.Count).End(xlUp).Row)
maxZ = Cells(Rows.Count, Range("Activities").Column).End(xlUp).Row
ReDim a(1 To maxZ, maxArr)
ReDim aus(2 To maxZ, 0)
For k = 0 To maxArr: For i = 1 To maxZ: a(i, k) = 0: Next: Next
ll = 1
For i = 2 To maxZ
'a(i, 0) = Range("B" & i + 20).IndentLevel + 1
a(i, 0) = Cells(i + 20, Range("Activities").Column).IndentLevel + 1
If a(i, 0) > maxArr Then _
MsgBox "Indent level > 3": a(i, 0) = maxArr
If a(i, 0) = ll Then
For k = 1 To maxArr: a(i, k) = a(i - 1, k): Next
a(i, ll) = a(i - 1, ll) + 1
Else
If a(i, 0) ll Then
For k = 1 To a(i, 0) - 1: a(i, k) = a(i - 1, k): Next
a(i, a(i, 0)) = a(i - 1, a(i, 0)) + 1
ll = a(i, 0)
End If
End If
End If
For k = 1 To ll: aus(i, 0) = aus(i, 0) & a(i, k) & ".": Next
aus(i, 0) = Left(aus(i, 0), Len(aus(i, 0)) - 1)
Next
'Range("A22:A" & maxZ) = aus
Range(Range("StartID"), Cells(maxZ, Range("SpalteID").Column)) = aus
End Sub
Anbei auch die Beispieldatei:https://www.herber.de/bbs/user/117623.xlsm
Ich hoffe jemand kann mir helfen - besten Dank schonmal!
Schönen Abend noch!
Lg,
Chrisi