Creación de un formulario personalizado

Mediante VBA podemos crear formularios personalizados que se abran al usuario de Excel y que, por ejemplo, soliciten un conjunto de datos o escoger una opción de entre las propuestas. En esta publicación vamos a centrarnos en la parte de diseño del formulario dejando el código VBA para otra publicación futura.

Para empezar con el diseño del formulario y como no podía ser de otro modo, abriremos el editor Visual Basic y haremos clic sobre el menú «Insertar» para seleccionar luego la opción «UserForm«.

UserForm_1

Al momento se creará en el panel «Proyecto» una nueva carpeta llamada «Formularios» que contendrá el objeto «UserForm1«. De forma predeterminada, este objeto estará ahora abierto en el área principal de la interfaz.

UserForm_2

En realidad, se trata de un formulario en blanco. Además, en la ventana de «Propiedades» se muestran las propiedades de este formulario recién creado. Por ejemplo, si pulsamos en el valor del campo «Name» podremos cambiar la denominación del objeto a «Formulario1» como se ve que hemos hecho en la imagen que se muestra a continuación:

El nombre se añade a la cabecera del panel Propiedades.
El nombre se añade a la cabecera del panel Propiedades.

Para salir, haremos clic sobre el formulario vacío. Fijémonos ahora en el «Cuadro de Herramientas«, éste contiene una serie de controles que podremos arrastrar hasta el formulario de la derecha, por ejemplo arrastremos el control cuadro de texto (el tercer botón de la izquierda que muestra las letras «ab«) hasta ubicarlo en la esquina superior derecha del formulario tal como se muestra en la imagen:

Pulsaremos el botón Cuadro de Texto y sin soltarlo lo arrastraremos hacia la esquina superior derecha del formulario.
Pulsaremos el botón Cuadro de Texto y sin soltarlo lo arrastraremos hacia la esquina superior derecha del formulario.

Con ello habremos creado un campo de escritura. En el campo «Name» de la ventana propiedades, cambiaremos el nombre del cuadro de texto creado (ahora «TextBox1«) por «CampoNombre«, mucho más representativo.

Ahora crearemos una etiqueta a la izquierda del cuadro de texto. El botón para crear una etiqueta es el segundo comenzando por la izquierda del cuadro de herramientas y se representa por una «A» mayúscula. De un modo similar al que hemos seguido para el cuadro de texto, pulsaremos sobre el botón «A» y arrastraremos el elemento hasta la esquina superior izquierda, quedando a la misma altura que el cuadro de texto.

El control "Etiqueta" es el representado por una "A" mayúscula dentro del Cuadro de Herramientas.
El control «Etiqueta» es el representado por una «A» mayúscula dentro del Cuadro de Herramientas.

Seguidamente seleccionaremos el contenido de la etiqueta en el propio formulario y cambiaremos el texto predeterminado «Label1» por «Inserte su nombre«, tal como se aprecia en la imagen:

Cambiaremos el texto de la etiqueta.
Cambiaremos el texto de la etiqueta.

Llegados a este punto arrastraremos una nueva instancia de «Cuadro de Texto» y la ubicaremos debajo de la primera. También cambiaremos su nombre por «CampoDomicilio«.

Cada vez que insertermos un control en un formulario personalizado, VBA le asignará las propiedades preestablecidas desde la ventana Propiedades. Para que se muestren los valores deseados, seleccionaremos antes el control que deseamos modificar o analizar y seleccionaremos la opción de Propiedades del menú contextual que aparece haciendo clic derecho sobre el elemento en cuestión.
Cada vez que insertermos un control en un formulario personalizado, VBA le asignará las propiedades preestablecidas desde la ventana Propiedades. Para que se muestren los valores deseados, seleccionaremos antes el control que deseamos modificar o analizar y seleccionaremos la opción de Propiedades del menú contextual que aparece haciendo clic derecho sobre el elemento en cuestión.

En el siguiente paso como cabe esperar insertaremos una nueva etiqueta a la izquierda del segundo cuadro de texto y justo debajo de la etiqueta creada anteriormente. También cambiaremos su texto que de forma predeterminada será «Label2» por «Inserte su domicilio«. El resultado será algo parecido a lo que se muestra en la imagen siguiente:

UserForm_8

Ahora vamos a insertar dos botones de comando. Este control es el cuarto de la segunda fila empezando por la izquierda. Los botones de comando que crearemos los arrastraremos hasta una posición justo debajo de la última etiqueta y cuadro de texto creados, tal y como se muestra en la imagen:

UserForm_9

Adicionalmente, cambiaremos el texto que aparece en estos dos comandos de «CommandButton1» y «CommandButton2» por «Guardar» y «Cerrar«. Llegados hasta aquí y si lo creemos conveniente podremos modificar el tamaño o mover  de cada uno de los controles pulsando sobre dicho elemento, de igual manera, podremos ajustar el tamaño de la caja del formulario para adaptarla a su contenido.

Podremos modificar el tamaño y la ubicación de los controles así como el tamaño de la ventana del formulario para adecuarlo a nuestras necesidades.
Podremos modificar el tamaño y la ubicación de los controles así como el tamaño de la ventana del formulario para adecuarlo a nuestras necesidades.

Para finalizar, guardaremos los cambios y pulsaremos el botón «Ejecutar» de la barra de herramientas de VBA. Con ello, se abrirá el formulario en el que todavía no hemos adjudicado el código VBA… cosa que haremos en la siguiente publicación dedicada a Visual Basic en Excel  😉

 


Descubre más desde Asiento descuadrado

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *