Como estas amigo Para esto puedes usar este procedimiento o uno similar, este procedimiento limita a solo entrar números o el carácter "-", se podría ampliar si lo necesitas para que valide si efectivamente las fechas son validas. Saludos Espero te sea de ayuda. Bacter Private Sub textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Dim ch As String Select Case Len(TextBox1.Value) Case Is < 2 ch = Chr$(KeyAscii) If Not ((ch >= "0" And ch <= "9")) Then KeyAscii = 0 End If Case 2 If KeyAscii <> 45 Then KeyAscii = 0 Case Is < 5 ch = Chr$(KeyAscii) If Not ((ch >= "0" And ch <= "9")) Then KeyAscii = 0 End If Case 5 If KeyAscii <> 45 Then KeyAscii = 0 Case Is < 9 ch = Chr$(KeyAscii) If Not ((ch >= "1" And ch <= "9")) Then KeyAscii = 0 End If Case 9 KeyAscii = 0 End Select End Sub