¿Cómo seleccionar valor de una lista en combobox con una entrada de datos que cumple con una mascara?

El amigo Dante me ayudó con el siguiente código:

Private Sub COMBOBOX1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

'Por.Dante Amor 

    COMBOBOX1 = Mid(COMBOBOX1, 1, COMBOBOX1.SelStart)

    'Por.Dante Amor

    Select Case KeyCode

        Case 40, 39 'flecha abajo y derecha avanza

            SendKeys "{TAB}", True

        Case 38, 37 'flecha arriba y izquierda regresa

            SendKeys "+{TAB}", True

    End Select

End Sub

Cuando ingreso un dato en el combobox1 y aparece un valor de la lista (Row Source), no funciona presionar "Enter". Ejemplo: En la lista Tengo Dante, ingreso la "D" en el combobox y aparece Dante, pero para aceptar que es dante y no escribirlo todo no funciona el Enter.

Cuando le quito la instrucción subrayada si funciona, pero esa instrucción la necesito no la puedo quitar.

1 Respuesta

Respuesta
2

Prueba con lo siguiente

Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'Por.Dante Amor
    If KeyCode = 13 Or KeyCode = 9 Then Exit Sub    'enter o tab
    ComboBox1 = Mid(ComboBox1, 1, ComboBox1.SelStart)
    Select Case KeyCode
        Case 40, 39 'flecha abajo y derecha avanza
            SendKeys "{TAB}", True
        Case 38, 37 'flecha arriba y izquierda regresa
            SendKeys "+{TAB}", True
    End Select
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas