Conectar un formulario de VBA con Excel – Control TextBox

Conectar un formulario de VBA con Excel es una tarea sencilla pero requiere de ciertos conocimientos y orden para poder llevarlo a cabo.

crear formularios en VBA con Excel

Creación de un formulario

Lo primero de todo que necesitaremos hacer será crear un formulario sencillo en VBA. Para eso debes ir al editor de Visual Basic y crear el formulario. Si no te aclaras muy bien con esta parte échale un vistazo al siguiente artículo para despejar todas las dudas:

Crear un formulario en VBA

Una vez que tengas el formulario creado lo normal será ponerle algunas etiquetas del nombre o el título o los campos que quieres rellenar, para ello deberás crear tantos controles de tipo “Label” como te hagan falta y formatearlos a tú gusto. Si quieres aprender más sobre el elemento “Label” mira este completo tutorial sobre el control Label en formularios.

Como puedes ver en la siguiente imagen, hemos creado un formulario con 4 controles Label:

Control TextBox

El control de tipo TextBox me permite rellenar datos en un formulario. De esta manera podría tener un formulario que pida Nombre, Apellidos y Ciudad. Para ello, necesitaremos unas “cajitas” donde el usuario pueda escribir. Estas “cajitas” en VBA las llamaremos TextBox, es decir, cajas de texto en su traducción literal.

Insertar un TextBox en el formulario

Para insertar un TextBox en nuestro formulario de VBA, seleccionaremos nuestro formulario y aparecerá una ventana con varias herramientas como al de la siguiente imagen:

y elegiremos el control que está dentro de un recuadro en rojo:

Este control que estamos seleccionando es nuestro TextBox.

Después pondremos el TexBox en nuestro formulario y le daremos el aspecto que queramos. Si repetimos esta acción tres veces tendremos el siguiente resultado:

Como puedes ver, el formulario ya se parece mucho a los que vemos en otros programas o páginas web. Para ver como queda realmente en Excel selecciona el formulario y haz click en el botón F5.

Como ves, ya no vemos las guías de puntos que veíamos en el editor de VBA. Si quieres, prueba a escribir tú Nombre, Apellido y Ciudad. El resultado siempre se queda ahí aunque todavía no hayamos indicado donde lo queremos guardar. Para salir de esta de VBA ventana haz clic en la “x” con recuadro rojo de la esquina superior derecha.

Propiedades de TextBox

Los TextBox tienen varias propiedades pero la principal propiedad que vamos a usar es “Value”. Esta propiedad nos permite saber el texto que se ha escrito en el TextBox. Para saber lo que un usuario ha escrito usaremos la sentencia:

TextBox1.Value

Donde TextBox1 es el nombre del TextBox. Por defecto es así (o TextBox2, o TextBox3…) a no ser que lo cambiemos en la barra de propiedades.

Conectar un formulario de VBA con Excel con TextBox

Este es el paso crítico. Una vez que hayamos rellenado la información en todos los TextBox necesitaremos un botón para indicarle a Excel que queremos guardar dicha información en una hoja de Excel en concreto en unas celdas en concreto.

Para ello añadimos un botón desde el panel de herramientas de VBA y le cambiamos el nombre para llamarlo “Aceptar”.

conectar un formulario de VBA con Excel

Una vez añadido el botón “Aceptar” haremos doble click sobre el en el editor de VBA para ver la parte de código donde deberemos escribir las sentencias de código para traspasar nuestros valores de los TextBox a ciertas celdas de nuestra hoja. Al darle doble click lo que veremos es que se abre una ventana como la siguiente:

código botón formulario

Donde se ha creado automáticamente una macro que se llama CommandButton1_Click. Esta macro se activará cuando hagamos click sobre el botón que por defecto se llama CommandButton1. Si por algún motivo cambiamos el nombre del botón deberemos cambiar también el nombre de la macro.

Supongamos que queremos que los valores de nuestra formulario vayan todos a una hoja que se llama “Datos” y en la fila 6. El código que usaremos será:

Sheets("Datos").Cells(6, 1) = TextBox1.Value
Sheets("Datos").Cells(6, 2) = TextBox2.Value
Sheets("Datos").Cells(6, 3) = TextBox3.Value

De esta manera nuestra macro quedará de la siguiente manera:

código formulario excel

Pero si, al darle al botón de Aceptar queremos que también se cierre la ventana del formulario podremos añadir la sentencia:

Unload Me

Descarga este ejemplo

Como este ejemplo para conectar un formulario de VBA con Excel es muy interesante y puede ser algo complejo os dejamos el enlace del ejercicio para que puedas descargarlo y comprobar toda esta funcionalidad por ti mismo.

[sociallocker]

Formulario TextBox conectado con Excel

[/sociallocker]

(Visited 59.277 times, 1 visits today)
Categorías VBA

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información ACEPTAR

Aviso de cookies