Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target, Range("A:A")) Is Nothing Then
For Each c In Target
If Len(c) = 16 Then c = Left(c, 3) & "-" & Mid(c, 4, 1) & "-" & Mid(c, 5, 2) & "-" & Mid(c, 7, 6) & "-" & Right(c, 4)
Next
End If
End Sub