Option Explicit
Sub split_alpha_numeric()
'Erik Van Geit
'060921
'START WITH
'ABCD123EF12GH
'TO GET
'ABCD-123-EF-12-GH
Dim rng As Range
Dim arr As Variant
Dim LR As Long 'Last Row
Dim i As Long
Dim ch As Integer
Dim temp As String
'**** EDIT ****
Const sep As String = "-" 'separator
Const FR As Integer = 1 'First Row
'**** END EDIT ****
LR = Cells(Rows.Count, 1).End(xlUp).Row
If FR = LR Then MsgBox "only one item in list ?", 32, "EXIT": Exit Sub
Set rng = Range("A" & FR & ":A" & LR)
arr = rng
For i = 1 To LR
temp = vbNullString
If Len(arr(i, 1)) <> 1 Then
For ch = Len(arr(i, 1)) To 2 Step -1
If IsNumeric(Mid(arr(i, 1), ch, 1)) = IsNumeric(Mid(arr(i, 1), ch - 1, 1)) Then
temp = Mid(arr(i, 1), ch, 1) & temp
Else
temp = sep & Mid(arr(i, 1), ch, 1) & temp
End If
Next ch
End If
arr(i, 1) = Left(arr(i, 1), 1) & temp
Next i
'delete ".Offset(0, 1)" to overwrite the data
rng.Offset(0, 1) = arr
End Sub