Siguiendo con la creación de nuestro formulario personalizado que empezamos la semana pasada, vamos ahora a crear un procedimiento para cada uno de los controles del formulario que serán los que le darán la funcionalidad.
Retomaremos el archivo Excel que guardamos y volveremos a abrir el editor VBA para a continuación seleccionar el objeto “Formulario1” que creamos en la anterior publicación.
Nuestro primer paso va a ser cambiar el título del formulario (que actualmente figura “UserForm1” por uno más representativo. Para ello, nos dirigiremos a la ventana “Propiedades” y cambiaremos el valor de la propiedad “Caption” por el texto “Inserte sus datos personales”

A continuación haremos doble clic sobre el campo a la derecha de “Inserte su nombre” y se nos mostrará el código de formulario, que hasta ahora estaba vacío, donde se ha declarado un procedimiento nuevo con el evento “Change” del campo que hemos hecho doble clic.

Dentro del procedimiento insertaremos la siguiente instrucción:
“ Range(«B1») = CampoNombre.Text “
Con ello hemos indicado que el valor de la celda B1 será igual a la cadena de texto introducida en CampoNombre. Para volver al objeto del formulario haremos doble clic sobre el objeto “Formulario1” o bien pulsaremos el botón “Ver objeto” de la cabecera de la ventana “Proyecto”

Ahora haremos doble clic sobre el segundo campo de texto del formulario y en el nuevo procedimiento creado, insertaremos la instrucción “Range(«C1») = CampoDomicilio.Text”
De este modo el valor que introduzcamos en este campo se asignará a la celda C1 de la hoja que se encuentre activa. Pasaremos otra vez a la vista objeto para asignar la instrucción al botón “Guardar” de nuestro formulario. Para ello, en la ventana de “Propiedades” cambiaremos en primer lugar su nombre por “Botón_Guardar” y el valor de la propiedad “Default”
Para insertar el procedimiento correspondiente, haremos doble clic sobre este botón en el formulario e introduciremos el siguiente código:
If CampoNombre.Text = «» Then
MsgBox «Inserta el nombre del cliente»
ElseIf CampoDomicilio.Text = «» Then
MsgBox «Inserta el domicilio social del cliente»
Else
ActiveWorkbook.Save
Unload Formulario1
End If
End Sub

Haremos lo propio también con el botón “Cerrar” cambiando su nombre por “Botón_Cerrar” y el valor de la propiedad “Cancel” por “True”.
Por último haremos doble clic sobre el botón “Cerrar” del formulario e insertaremos la instrucción para cerrar el formulario directamente.

En próximas publicaciones revisaremos otras instrucciones del lenguaje VBA.
Descubre más desde Asiento descuadrado
Suscríbete y recibe las últimas entradas en tu correo electrónico.