H o l a:
Te anexo el código para el combobox1, si después de capturar, te regresas a cualquier parte del texto a modificar un caracter, automáticamente desde ese caracter y hacia la derecha se eliminan los caracteres, esto es para que la máscara se respete.
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'Por.Dante Amor
ComboBox1 = Mid(ComboBox1, 1, ComboBox1.SelStart)
End Sub
'
Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Por.Dante Amor
'Para Guion
'
'xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xx
'01234567890123456789012345678901234567
Select Case Len(ComboBox1)
Case 6, 13, 20, 27, 34
ComboBox1.Text = ComboBox1.Text & "-"
End Select
If Len(ComboBox1) = 37 Then KeyAscii = 0
End Sub
Supongo que la captura la vas a hacer en un textbox, porque en un combobox no capturas, la idea del combo es que puedas seleccionar un dato de la lista desplegable, así que también te anexo el ejemplo para un textbox
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'Por.Dante Amor
TextBox1 = Mid(TextBox1, 1, TextBox1.SelStart)
End Sub
'
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Por.Dante Amor
'Para Guion
'
'xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xx
'01234567890123456789012345678901234567
Select Case Len(TextBox1)
Case 6, 13, 20, 27, 34
TextBox1.Text = TextBox1.Text & "-"
End Select
If Len(TextBox1) = 37 Then KeyAscii = 0
End Sub
R ecuerda valorar las respuestas.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
Interesante - Adriel Ortiz Mangia