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.


Cambio de Estilo

En esta ocasión aprenderemos como programar varias macro dentro de un botón para que según sea la condición trabaje según la macro asignada.
Primero: deberemos crear nuestro listado al cual le aplicaremos los distintos cambios.



Luego deberemos iniciar un nuevo grabado para una macro, en la cual le aplicaremos distintos cambios a nuestro listado.



Le cambiaremos de color a los encabezados.



Le cambiaremos el color de fondo, al encabezado.



Le aplicaremos distintos cambios a los encabezados.



Le cambiaremos el color de fondo a las otras celdas.



Le aplicaremos negrita.



Luego detendremos de grabar nuestra macro.




Luego grabaremos nuestra segunda macro en la cual aplicaremos otros cambios distintos a los de la primera macro.



Le aplicaremos otros cambios a nuestro listado.



Luego detendremos nuestra macro.




Luego grabaremos nuestra tercera, macro.

Le aplicaremos distintos cambios a las 2  anteriores.



Luego detendremos nuestra macro.



Luego insertaremos un botón el cual realizara los cambios según las distintas macros.


Le asignaremos un nombre al botón.



Luego haciendo click derecho sobre el botón, y luego haciendo un click en la opción asignar macro.



Luego haremos click en nuevo.



Nos llevara hacia el cuadro de opciones de Visual Basic.



Buscaremos nuestra primera macro que se encontrara arriba, y la copiaremos.



Antes de pegar nuestra primera macro deberemos escribir el siguiente código:
If [E1] = 1 Then
que dirá que si E1 tiene un valor que sea igual uno, luego (y aquí pegaremos nuestra macro para que realice los cambios que en ella se hicieron).



Luego cerraremos nuestro if con la siguiente instrucción: End if.


Luego escribiremos la misma fórmula solo que ahora el valor de E1 será 2.

Luego copiaremos nuestra segunda macro.



Luego pegaremos nuestra macro.



Luego cerraremos nuestro if con la instrucción End if.




Luego realizaremos el mismo paso solo que con la tercera macro.
de la misma forma ahora el valor de E1 será 3.





Luego podremos comprobar que nuestro trabajo ah funcionado regresando a excel y realizando la siguiente acción.