Option Explicit
Sub Dem()
Dim arr(), S, res(), str$, tmp$, t$, a$, d$
Dim sR&, i&, k&, j&, N&, fC&, c&
Const deli$ = ",.;:-"
With Sheet1
arr = .Range("A2", .Range("A2").End(xlDown)).Value
End With
sR = UBound(arr)
ReDim res(1 To sR, 1 To 3)
For i = 1 To sR
str = Replace(arr(i, 1), " ", "") & ","
N = Len(str)
fC = 1
k = 0
tmp = "|"
a = Empty: d = Empty
For j = 1 To N
c = InStr(1, deli, Mid(str, j, 1))
If c > 0 Then
t = Mid(str, fC, j - fC)
If InStr(1, tmp, "|" & t & "|") = 0 Then
k = k + 1
tmp = tmp & t & "|"
a = a & d & t
d = Mid(deli, c, 1)
End If
fC = j + 1
End If
Next j
If a = Empty Then res(i, 1) = str Else res(i, 1) = a
res(i, 2) = k
Next i
Sheet1.Range("B2").Resize(sR).NumberFormat = "@"
Sheet1.Range("B2").Resize(sR, 2) = res
End Sub
Sub Them()
Dim arr(), res(), sR&, sC&, i&, j&
arr = Sheet1.Range("E2:N2").Resize(10).Value
sR = UBound(arr, 1): sC = UBound(arr, 2)
For j = 1 To sC
For i = 2 To sR
If arr(i - 1, j) = 9 Then arr(i, j) = 0 Else arr(i, j) = arr(i - 1, j) + 1
Next i
Next j
Sheet1.Range("E2:N2").Resize(10).Value = arr
End Sub