Based on the examples - perhaps something along the lines of:
Sub Example()
Dim v1 As Variant, vTemp As Variant
Dim lngD1 As Long, lngD2 As Long
Dim strTemp As String
With Selection
v1 = .Value
For lngD2 = LBound(v1, 2) To UBound(v1, 2) Step 1
For lngD1 = LBound(v1, 1) To UBound(v1, 1) Step 1
vTemp = Split(v1(lngD1, lngD2), ":")
v1(lngD1, lngD2) = vTemp(0)
vTemp = Split(vTemp(1), ",")
If UBound(vTemp) < 1 Then
strTemp = vTemp(0)
Else
strTemp = vTemp(1) & " -" & vTemp(0)
End If
v1(lngD1, lngD2) = v1(lngD1, lngD2) & ":" & strTemp
Next lngD1
Next lngD2
.Value = v1
End With
End Sub
Bookmarks