Thanks for your help!
I figured out another way using the Ascii values on the keypress event. The only thing I need to do now is to store the contents of the text before before it checks. Because it does the check fine, but still allows you to place the value into the box after the message box appears.
My code:
Private Sub txtPhone_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 8
'Allows backspace and delete characters
Case 32
'Allows space
'Case 40 To 41
'Allows opening and closing parenthisis
Case 45
'Allows hyphen
Case 48 To 57
'0-9 --> OK
Case Else
'MsgBox "Invalid character", vbExclamation
End Select
End Sub
Cheers,
Paul