hi,

In addition to Stephen's & John's suggestions, try playing around with the "textbox1.sel..." properties, for example:
Option Explicit

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With Me.TextBox1
        If Not .Value Like "???############-####" Then
            MsgBox "No"
            .SetFocus
            .SelStart = 3
            .SelLength = Len(Me.TextBox1) - 3
            Cancel = True
        End If
    End With
End Sub

hth
Rob