domingo, 15 de abril de 2012

Creación de formulario de Inscripción

En esta ocasión aprenderemos como realizar un formulario para la inscripción de un colegio, la cual deberá trasladar los datos según sea el grado en que se desea inscribir al alumno.
Primero: deberemos crear nuestro documento en el cual la primera hoja la nombraremos como ingresar al sistema a la cual le insertaremos un botón que nos abrirá el formulario.



Luego insertaremos un botón con la opción la cual programaremos después.



Le asignaremos un nombre a nuestro botón.



Ingresaremos los encabezados de la hoja "primero".



Ingresaremos los encabezados de la hoja "segundo".



Ingresaremos los encabezados de la hoja "tercero".



Luego nos iremos a Visual Basic pulsando la tecla Control + F11
Y luego en la opción insertar haremos click en Userform.



Insertaremos Varias etiquetas para escribir.



Le aplicaremos distintos cambios a nuestro título del formulario.



Insertaremos otras etiquetas, y a estas les quitaremos el color de fondo poniéndolas como transparentes.



Luego insertaremos varios cuadros de texto en el mismo orden en el que insertamos las etiquetas.



Insertaremos una imagen de fondo para nuestro formulario.



Le cambiaremos el color al texto de nuestras etiquetas.



Insertaremos un Botón.



Le cambiaremos el nombre al botón y también le cambiaremos el color de fondo.




Luego haremos doble click sobre el botón para programarlo.
y escribiremos el siguiente código:

Dim mensaje As String
    If TextBox4 = "" Or TextBox5 = "" Or TextBox6 = "" Then
mensaje = MsgBox("Debe llenar los campos de informacion de los padres y el teléfono de emergencia", vbOKOnly, "bienvenido")
TextBox4.SetFocus
Else


Este funciona de la siguiente manera: 
Dim mensaje As String (con esto se inicia cuando vamos a poner un mensaje con una condición).
  If TextBox4 = "" Or TextBox5 = "" Or TextBox6 = "" Then (si el textbox4 en este caso será donde ingresaremos el nombre del padre no tiene nada, o el textbox5, que sera el nombre de la madre es igual a nada, o el texbox6 que sera donde ingresaremos el teléfono de emergencia es igual a nada entonces)
mensaje = MsgBox("Debe llenar los campos de informacion de los padres y el teléfono de emergencia", vbOKOnly, "bienvenido") se mostrará el mensaje.

TextBox4.SetFocus (que situé el cursor de texto en el textbox4).
Else (sino).





Luego escribiremos el siguiente código el cual tendrá la condición que si el Textbox en el cual ingresaremos el grado del alumno guarde los datos en una hoja de excel especifica.

If TextBox2 = "primero" Then  (si el textbox2 es igual a primero entonces)
 Sheets("primero").Select         (que abra la hoja denominada "primero")
 [A4] = TextBox1                    (que la celda A4 sea igual a lo que ingresemos en el textbox1)
 [B4] = TextBox2                    (que la celda B4 sea igual a lo que ingresemos en el textbox2)
 [C4] = TextBox3                    (que la celda C4 sea igual a lo que ingresemos en el textbox3)
 [D4] = TextBox4                    (que la celda D4 sea igual a lo que ingresemos en el textbox4)
 [E4] = TextBox5                    (que la celda E4 sea igual a lo que ingresemos en el textbox5)
 [F4] = TextBox6                    (que la celda F4 sea igual a lo que ingresemos en el textbox6)
 ActiveWorkbook.Save           (que guarde la información).
 Range("A3").Select                 (que seleccione la celda A3)
 Selection.EntireRow.Insert      (que inserte una nueva fila)
 TextBox1 = Empty                  (que limpie el textbox1)
 TextBox2 = Empty                   (que limpie el textbox2)
 TextBox3 = Empty                   (que limpie el textbox3)
 TextBox4 = Empty                   (que limpie el textbox4)
 TextBox5 = Empty                  (que limpie el textbox5)
 TextBox6 = Empty                  (que limpie el textbox6)
 TextBox1.SetFocus                 (que coloque el cursor de texto sobre el textbox1).
 End If                                     (y cerramos nuestro condicional if).




Luego repetiremos el mismo paso sobre este solamente que indicará un cambio si en caso el grado se tratará de segundo.



If TextBox2 = "segundo" Then
 Sheets("segundo").Select
 [A4] = TextBox1
 [B4] = TextBox2
 [C4] = TextBox3
 [D4] = TextBox4
 [E4] = TextBox5
 [F4] = TextBox6
 ActiveWorkbook.Save
 Range("A3").Select
 Selection.EntireRow.Insert
 TextBox1 = Empty
 TextBox2 = Empty
 TextBox3 = Empty
 TextBox4 = Empty
 TextBox5 = Empty
 TextBox6 = Empty
  TextBox1.SetFocus
 End If




Luego utilizaremos el mismo código solamente que cambiara de hoja si el grado dice "tercero".



If TextBox2 = "tercero" Then
 Sheets("tercero").Select
 [A4] = TextBox1
 [B4] = TextBox2
 [C4] = TextBox3
 [D4] = TextBox4
 [E4] = TextBox5
 [F4] = TextBox6
 ActiveWorkbook.Save
 Range("A3").Select
 Selection.EntireRow.Insert
 TextBox1 = Empty
 TextBox2 = Empty
 TextBox3 = Empty
 TextBox4 = Empty
 TextBox5 = Empty
 TextBox6 = Empty
  TextBox1.SetFocus
 End If
    End If (este if cerrara la primera condición en la cual establecimos el mensaje).


Luego regresaremos a nuestra primera hoja para programar nuestro botón, haciendo click derecho sobre el y luego seleccionando asignar macro.


haremos click en nuevo.



Escribiremos el siguiente código:
Userfor1.Show (mostrara nuestro formulario número 1).



Luego podremos regresar a nuestra primera hoja para probar nuestro formulario.



Llenaremos los datos requeridos.



Y los copiará según sea la hoja que hemos seleccionado al escribir el grado.


5 comentarios:

  1. hola, tu formulario me parece muy bueno, yo apenas voy comenzando en esto y me gustaria si fuera posible me enviaras este ejemplo a mi correo, caso601@yahoo.com, gracias de antemano.

    ResponderEliminar
  2. Gracias por tu comentario, el ejemplo será enviado a tu correo

    ResponderEliminar
  3. Buen día, excelente herramienta que ha elaborado, podría existir la posibilidad de contar con tu aporte, y si así fuese me podrías enviar el ejemplo a mi correo tc.bto_cubiaselias@yahoo.com
    Agradeciéndole por su atención

    ResponderEliminar
  4. Hola, espero estén activos aún, me interesaría recibir una copia del modelo para implementarlo en mi trabajo, gracias

    ResponderEliminar
  5. Perdón mi dirección es hernan@espaciohoffman.com

    ResponderEliminar