Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Logo Excel Avanzado

Ejemplo de Key Down en VBA

| Sin comentarios

El evento Key Down es uno de los eventos más utilizados en el lenguaje VBA. Este evento se pone en función tan sólo presionando una tecla, siendo independientes de que sin son caracteres o no, pudiéndose usar para darle formato a un texbox con formato de fecha automática, reemplazar TAB en un formulario de Excel, etc.

Para este caso vamos a realizar un ejemplo de cómo usar el VBA Key Down para darle un formato de fecha automática a un TEXTBOX.

EJEMPLO:

1. Primero entramos a la pestaña Desarrollador y damos click en el ícono de VISUAL BASIC. Inmediatamente insertamos un Userform (Formulario)

Ejemplo de Key Down en VBA 1, Ejemplo de Key Down en VBA

2. Ingresamos una Textbox (Caja de texto) y en propiedades le damos un Font (Fuente) de Negrita, para su mejor visualización. Y lo probamos con F5.

Ejemplo de Key Down en VBA 2, Ejemplo de Key Down en VBA

 

3. Lo que vamos a realizar es darle el siguiente formato en la caja de texto (13/06/2020). Ingresando barras diagonales o Slash para separar el día, mes y año. Pero obviamente mediante programación VBA para que las barras diagonales se realicen de forma automática.

 

Ejemplo de Key Down en VBA 3, Ejemplo de Key Down en VBA

4. Proseguimos a regresar a la ventana VISUAL BASIC y darle doble click en el TEXT BOX para comenzar a realizar la programación. Y en el evento lado superior derecho seleccionamos el evento KEY DOWN.

Ejemplo de Key Down en VBA 4, Ejemplo de Key Down en VBA

5. Entonces agregamos un Select case y un Lean al textbox1. Esto quiere decir que Seleccionaremos Según sea el caso de que el valor de la longitud (LEN) del textbox1 es igual a 2 (al añadir dos dígitos). Si esto se cumple automáticamente se le agregará la barra diagonal después de la segunda letra, añadiéndole un operador para concatenar (&). Presionamos F5 y nos damos cuenta que cumple con lo indicado.

 

6. Ahora nos falta añadir el año. Esto quiere decir que a partir del 5 dígito se añadirá una barra diagonal, ya que son 2 dígitos del día más la barra diagonal (/) y los 2 dígitos del mes. Utilizaremos por segunda vez un Select case cuando el Case sea igual a 5. Pero añadiremos el presente año (2020) para que salga automáticamente junto con la segunda barra diagonal.

 

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

   Select Case Len(TextBox1.Value)

       Case 2

       TextBox1.Value = TextBox1.Value & "/"

       Case 5

       TextBox1.Value = TextBox1.Value & "/2020"

   End Select

End Sub

7. Finalmente probamos la programación siempre con “F5” y ahora si podemos digiatar la fecha actual.

 

Ejemplo de Key Down en VBA 5, Ejemplo de Key Down en VBA

 

Descargar el archivo con el ejemplo completo: Ejemplo de Key Down en VBA

 

Por: Percy Paiva

Deja una respuesta

Los campos requeridos estan marcados con *.