If it's to save typing the dashes (and to make sure it's formatted correctly),
you could format that range of cells (whole column???) as text and use a
worksheet event:
I used column A as my range to enter the data (adjust it as required).
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myTempVal As Variant
Dim myStr As String
On Error GoTo errhandler:
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Me.Range("a:a")) Is Nothing Then Exit Sub
If IsNumeric(Target.Value) = False Then Exit Sub
myStr = Right(String(19, "0") & Target.Value, 19)
myTempVal = CDec(myStr)
Application.EnableEvents = False
Target.Value = Format(myTempVal, "0000\-0000\-00\-000\-000000")
errhandler:
Application.EnableEvents = True
End Sub
Right click on the worksheet tab that should have this behavior and select view
code. Paste this into the code window (usually on the right).
If you're new to macros, you may want to read David McRitchie's intro at:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
ps. You could also start your entry with an apostrophe '1234123412341234123