Como Crear un formulario de Registro en VBA con respaldo en planilla excel
- Jose Luis Orrego
- Dec 1, 2015
- 5 min read
Bueno Comenzemos con el Tutorial.
Para comenzar debemos tener habilitada la pestaña Programador en excel yo ocupare la version 2010 para habilitar se dirigen a
Archivo >> Opciones >> Personalizar Cinta de Opciones >> Programador.

Aqui dan click en Opciones

Aca click en Personalizar Cinta de Opciones y luego en el Cuadrado que esta de color plomo llamado Programador
una vez hecho esto les quedara la pestaña programador habilitada en su hoja de excel como sale aqui

una vez hecho esto comencemos .
Lo primero, deben nombrar sus tablas lo haremos asi ingresaremosdesde A1 hasta F1 lo nombraremos Datos Cliente y desde A2 hasta F2 lo siguiente RUT, NOMBRE, APELLIDO, DIRRECCION, TELEFONO, E-MAIL esto les deberia quedar algo asi.

No lo completen con datos todavia solo los campos vacios porque con unas cuantas lineas de codigo y un form en Visual Basic para Aplicaciones (VBA) lo realizaremos.
una vez tengan eso listo debemos nombrar la hoja en la cual estamos tabajando para la mia la nombre como Clientes este paso es muy importante porque con esto le diremos a el form sobre que hoja debe agregar los datos y trabajar.

Ok amigos empecemos la parte mas divertida, nos dirigimos a la pestaña programador y damos click en donde dice Visual Basic.

Nos Abrira una ventana y crearemos un nuevo form luego lo llamaremos formIngreso

Con esto lo creamos, luego en la ventana de propiedades nos dirigimos a donde dice NAME y lo cambiamos por fromIngresar, con esto nombraremos nuestro formulario es muy importante darle nombre a todo nuestros componentes porque asi no nos confundiremos a la hora de trabajar y evitara futuros errores, bueno mas abajo de esto donde dice Caption ponemos el nombre que queremos que se vea en el formulario a la hora del usuario utilizarlo en este caso le pondremos Formulario de Registro en la imagen siguiente se puede apreciar lo que hemos hecho

bueno como pudieron observar yo ingrese unos etiquetas con nombre (Label) y unos cuadros de texto (Textbox) mas dos botones(Buttons) esto mismo deben hacer ustedes ahora pero como se preguntaran uds es muy facil.
En el recuadro de herramientas flotante con el ustedes pueden agregar todo tipo de elementos para un formulario en este caso necesitamos 3 elementos Label, Textbox, Buttons cuantos agregaremos los necesarios para completar nuestra planilla excel si se fijan en la foto anterior agrege 6 Labels, 6 Textbox , 2 Buttons como agregarlos en la foto les indico.

Como pueden ver la A mayuscula que se ve en el recuadro de herramientas sirve para agregar una etiqueta, luego de clickearla deben hacer otro click dentro del formulario, y les agregara el recuadro, luego cambian el nombre en el caption y la llaman Rut segun el ejemplo que estamos realizando, bueno y asi sucesivamente con las etiquetas faltantes.
Lo mismo pueden hacer con los cuadros de texto, como aparece en la siguiente imagen.

Bueno aqui en el Cuadro de Herramientas dan click en el simbolo ab|, y repiten lo mismo que al realizarlo con la etiqueta, pero aca en el cuadro de propiedades nos vamos a (NAME) y le cambiamos el nombre por txtRut tal cual sale en la imagen y lo mismo deben hacer para los demas cuadros de texto, remplazando por el nombre respectivo de cada campo Ej: txtnombre, txtApellido, txtDir, txtFono y por ultimo txtMail. Esto lo hacemos para identificar cada campo al momento de programar y darle una instruccion recuerden deben ser muy ordenados a la hora de programar.
bueno para terminar el diseño de nuestro formulario solo nos faltan los 2 botones el boton guardar y el boton salir como insertarlo en el formulario asi.

repetimos los pasos como ya se los explique, para agregar nos dirigimos al boton de comando como sale en la imagen, insertamos en nuestro form 2 botones y nos dirigimos a (NAME) a uno le ponemos btnGuardar y al otro btnSalir, en el caption le cambiamos el nombre que queremos que muestre al usuario y con esto terminamos el diseño de el y lo que realizaremos ahora es programar.
Les explicare un poco que hisimos, diseñamos un formulario el cual necesitamos que por medio de este se le agregen campos a nuestra planilla, para tener un registro de cliente, para ello necesitamos completar los campos y al darle click en el boton Guardar ejecute lo que nosotros requerimos, asi sucesivamente con cada registro y el boton salir lo que realizara sera cerrar el programa cuando no queremos ingresar. ven es facil ahora manos a la obra.
Primero para tener una vista previa de su formulario o para arrancarlo e ir provando los procesos que programamos presionamos F5 en nuestro teclado eso ejecutara el formulario.
Segundo damos doble click en nuestro boton guardar y nos abrira una pantalla nueva que les saldra asi.

entre el Private Sub y End Sub escribiremos nuestro codigo.
entonces ocuparemos una condicion IF para hacer lo siguiente.
Private Sub btnGuardar_Click()
Sheets("Clientes").Select
'con esta linea de codigo le decimos al formulario que si esta la hoja Clientes seleccionada haga 'lo siguiente
If txtRut = "" Or txtNombre = "" Or txtApellido = "" Or txtDir = "" Or txtFono = "" Or txtMail = "" Then MsgBox ("Porfavor Ingrese los datos solicitados") txtRut.SetFocus
'con esto le decimos que si algun cuadro de texto esta vacio muestre un mensaje por pantalla 'que diga Porfavor Ingrese los datos solicitados y por ultimo que el puntero se posicione en el 'campo rut
Else
'de lo contrario le decimos que haga lo siguiente Range("a2").Select
'que se posicione en el rango A2 de su planilla
Do While Not IsEmpty(ActiveCell) ActiveCell.Offset(1, 0).Select Loop
'con esto le decimos que hacer mientras se cumpla la condición. osea que si rango a2 no esta 'vacio baje al A3 y desde ahi en adelante comience a agregar datos.
ActiveCell = txtRut ActiveCell.Offset(0, 1).Select
ActiveCell = txtNombre ActiveCell.Offset(0, 1).Select
ActiveCell = txtApellido ActiveCell.Offset(0, 1).Select
ActiveCell = txtDir ActiveCell.Offset(0, 1).Select
ActiveCell = txtFono ActiveCell.Offset(0, 1).Select
ActiveCell = txtMail ActiveCell.Offset(0, 1).Select
'con esto le decimos que active la celda txtrut y rellene los campos seleccionados y se valla 'corriendo un puesto hacia la derecha si se dan cuenta en uno por campo
txtRut = "" txtNombre = "" txtApellido = "" txtDir = "" txtFono = "" txtMail = ""
txtRut.SetFocus
'finalmente con este codigo le decimos que limpie los campos y se posicione nuevamente en el 'campo rut
End If
'finalizamos la condicion if
End Sub
Bueno y para finalizar con el codigo nos devolvemos al formulario y ahora damos doble click en el boton salir y le agregamos solo un END asi de facil esto lo que nos hara sera cerrar el programa.

Listo. ahora prueben el programa presionando la tecla F5 y rellenen los campos y guarden luego si se van asu planilla en excel veran que los campos estan guardados como corresponde y les quedara algo asi dependiendo de la cantidad de datos ingresados.

ahora un ultimo paso para poder ejecutar nuestro formulario sin tener que abrir visual basic es crear una modulo como les muestro en la imagen.

por ultimo el modulo al modulo creado le damos doble click nos saldra en blanco y escribimos
Private Sub ingresar ()
formIngreso.Show
End Sub
con esto le decimos que abra el formulario ingreso que lo llamamos anteriormente formIngreso un ejemplo en la imagen.

guardamos con Ctrl + S y el archivo lo guardamos para macros.

Luego que guardamos nuestro archivo nos dirigimos a la pestaña programador y donde dice insertar agregamos un boton, presionamos en el formulario donde queramos pero fuera de los campos que utilizamos para rellenar.

Despues no aparecera esto.

Seleccionamos la macro ingreso que es el modulo que creamos anteriormente y le damos a aceptar. nos creara el boton y tenemos solo que personalizarlo agrandarlo y cambiarle el nombre y volvemos a guardar el documento y listo.

en mi caso le agrande y lo nombre REGISTRO ahora si lo clickean les aparecera el formulario.
espero les sea de ayuda y les guste mucho, eso fue todo por hoy nos vemos en la proxima.
Adios
















Comments