domingo, 15 de abril de 2012

Formulario para consultar Sueldos

En esta ocasión aprenderemos como crear un formulario en el que al ingresar el código del trabajador, nos aparezcan todos los datos relacionados con su salario.
Primero: deberemos crear nuestra base de datos en los cuales incluiremos algunos aspectos para contabilizar algunos pagos que se le hacen al trabajador.


Luego asignaremos una matriz a nuestros datos, denominándola con el nombre de "datos".


Luego en la segunda hoja escribiremos el encabezado de algunos datos que deberemos hallar.



Luego escribiremos algunas fórmulas para hallar nuestros valores, nos basaremos en la fórmula BuscarV que nos ayudara a encontrar valores desde la matriz.




Luego haremos una pequeña suma.



Luego calcularemos el IGGS.



y luego calcularemos el sueldo líquido.



De la misma manera colocaremos los mismos encabezados mas abajo.



Luego grabaremos una macro.




en la cuál copiaremos todos los datos de la fila 5.



generaremos un pegado especial.



y seleccionaremos valores para que no pegue la fórmula.




Luego de haber hecho esto crearemos nuestro formulario en visual basic pulsando Alt + F11



Insertaremos una etiqueta la cual nos permitirá escribir.



Crearemos la etiqueta del título y otras que necesitaremos.



Les asignaremos un nombre a nuestras etiquetas.



Las seleccionaremos y les pondremos un fondo transparente.



Luego podremos editar el tamaño y el tipo de letra.



luego podremos editar el color del texto.



luego insertaremos los cuadros de texto al lado de nuestras etiquetas.




Luego bloquearemos nuestros cuadros de texto para que nadie los pueda editar, excepto el del código.



le asignaremos una imagen de fondo a nuestro formulario para generar una mejor presentación.



Insertaremos 3 botones los cuales programaremos luego.



Y les podremos nombre.




Haremos doble click sobre el cuadro de texto que se encuentra al lado del código en este caso sera el Textbox1.
y luego escribiremos el siguiente código.

If Val(TextBox1) >= 6000 Then
    [B5] = Val(TextBox1)

que dira: "si el valor del textbox 1 es mayor o igual que 6000 luego, que la celda B5 sea igual al valor del textbox1.


Luego haremos click sobre el modulo1 para poder ir y copiar la macro.



Luego regresaremos y pegaremos nuestra macro.



y luego escribiremos el siguiente código.

     TextBox2= [C9]       "el textbox2 tendrá el valor de la celda C9"
    TextBox3 = [D9]       "el textbox3 tendrá el valor de la celda D9"
    TextBox4 = [E9]        "el textbox4 tendrá el valor de la celda E9"
    TextBox5 = [F9]        "el textbox5 tendrá el valor de la celda F9"
    TextBox6 = [G9]        "el textbox6 tendrá el valor de la celda G9"
    TextBox7 = [H9]       "el textbox7 tendrá el valor de la celda H9"
End If                            "cerraremos el primer if que abrimos al inicio".






luego regresaremos al userform1 para programar nuestros botones.
Haremos doble click sobre el botón de Buscar otro.
La fórmula será:
Textbox1 = Empty  "que limpiara el contenido del TextBox 1
y así sucesivamente.




Luego sobre el botón de cerrar para programarlo.
La fórmula será: 
UserForm1.Hide "que ocultara el formulario.




Luego haremos doble click sobre el botón de salir y le colocaremos esta fórmula:
ActiveWorkbook.Close savechanges:=False "el cual nos sacará de excel".




Luego regresaremos a nuestra hoja 2 de excel para insertar un nuevo botón.



Haremos click sobre el y luego en asignar macro.



Y luego haremos click en nuevo.



Luego escribiremos la siguiente fórmula:
Userform1.Show



Luego podremos regresar a excel y probar que nuestro formulario si funciona.

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.