Hi, I assume the Text "Main Category" etc is in column "B" with the Ref Number in Column "A" , if so try this.
Code inserts Numbers in column "A"
NB:- Make sure you The Words "Sub" in your list, starts with an upper Case, Some or your are Lower.
Sub Cat()
Dim Rng As Range, dn As Range, c As Integer
Dim n As Single, p As Single
Set Rng = Range(Range("B1"), Range("B" & Rows.Count).End(xlUp))
For Each dn In Rng
Select Case dn
Case Is = "Main Category": p = 0: c = c + 1: dn.Offset(, -1) = c
Case Is = "Sub-Category": p = 0: n = Application.Max(n, c): n = n + 0.1: dn.Offset(, -1) = n
Case Is = "Sub-Sub-Category": p = p + 1: dn.Offset(, -1) = n & "." & p
End Select
Next dn
End Sub
Regards M8ick
Bookmarks