miércoles, 11 de abril de 2012

Usando Macros

Hola de nuevo ahora les mostrare como crear una Macro y algunos usos que se le pueden dar

Como crear una Macro

Como inicio abrimos un documento nuevo y ponemos el encabezado de lo que vamos a poner ahora buscamos en donde dice vista y luegio le damos gravar macro ahora , otra es buscar hasta abajo donde ahi una como ventana en pequeña y le damos un click y ahi podemos gravar tambien una macro.
como siguiente paso es abrir la macro para gravar entonces nos aparece una ventana que dice nombre de la macro ahi no es necesario una macro pero si se nos hace mas facil lo hacemos, la segunda columna es METODO ABREVIADO esto quiere decir una forma mas facil de ver si la macro funciona y nos dice CTRL+ LA LETRA  es recomendable usar esta opcion porque si usamos mayusculas tiene una dificultad  que se deberia presionar CTRL+MAYUS+LA LETRA Y ES MAS DIFICIL AUN.
la siguiente es DESCRIPCION ahi no es obligatorio llenar esa casilla pero si queremos escribimos lo que vamos hacer , ahora le damos aceptar y el icono que parece una ventana que estava hasta abajo se convierte un cuadruadro azul esto quiere decir que ya esta gravando la macro .
Ahora que esta gravando debemos por ejemlo escribimos los registros quen hibamos hacer antes como normalmente lo haciamos , luego que los haigamos llenado nos vamos a la primera casilla que es A1 Y PARAMOS LA MACRO PARA ESTO NOS VAMOS AL ICONO DE MACRO Y LE DAMOS UN CLICK .
Para comprobar que funcione la macro usamos la combinacion de la letra que asignamos la macro y debe quedar el registro como lo teniamos .

Asignar una macro a un control

Para esto creamos una base de datos usarmos 2 hojas y le podndremos de nombre ASISTENCIA la segunda  BASE DE DATOS  como subtitulos pondremos los siguientes:
  1. BASE DE DATOS
  2. CODIGO
  3. NOMBRE
  4. GRADO/CARRERA
En mi caso llene 10 registros
sELECCIONAMOS TODOS MENOS EL ENCABEZADO Y LE PONEMOS POR NOMBRE (DATOS).
como veran en este ejemplo:
Ahora nos vamos a ASISTENCIA.
La primera columna pondremos un codigo de los que pusimos anteriormente.
Ahora a la par usaremos una formula para que nos aparesca el nombre de la persona segun su codigo para hacer esto usaremos la siguiente
=BUSCARV(A1;DATOS;2;FALSO) ENTER  y listo
ahora usaremos otra formula para que aparezca el grado usamos la siguiente
=BUSCARV(A2;DATOS,3,FALSO) ENTER
Ya que tenemos estos registros le pondremos FECHA Y HORA
para fecha usamos la formula =HOY() ENTER Y YA
PARA HORA USAREMOS LA FORMULA : =AHORA() Y ENTER .
Luego hasta abajo como enla columna 10 pondremos los titulos de registro anterior que son
  1. Codigo
  2. Nombre
  3. Grado/Carrera
  4. Fecha
  5. Hora
Ahora desde este momento gravaremos una macro para esto nos vamos a Vista, Macros, Gravar Macros y le daremos enter en este caso no es necesario llenar todos os datos quie nos piden  les damos Aceptar.
ahora venimos y Copiamos los registros que tenemos en la primera fila siempre en (Asistencia) y le damos copiar y nos vaos donde estan los subtitulos y dejamos una fila de por medio esto quiere decir que en la fila 12 lo pegaremos pero no usamos la mas facil sino que esta es diferente y le damos click derecho y le damos donde dice pegado especial y nos aparecera un cuadro aqui seleccionamos donde dice valores y le damos Aceptar y se pegan los registros damos enter para que se nos quite el cuadro de copiado.
debemos verificar lo que es fecha y hora y configurarlo ya que al momento que se pega estas dos columnas se desconfiguran nos ponemos en la casilla y le damos numero.
asi es como debe quedar si se daran cuenta el mio esta distinto porque ya esta un poco mas avanzado.
ya corregido, ahora insertaremos un boton
Nos vamos a programador, insertar y seleccionamos el primer icono y lo ponemos en donde mas nos guste .
Le pondremos por nombre en mi caso REGISTRAR ASISTENCIA
Ahora por la columna f4 pondremos algun codigo que tengamos y la vinculamos con el mismo codigo que teniamos anteriormente. O sea con A1 para esto en A1 ponemos = Y PONEMOS EN DONDE ESTA EL CODIGO QUE HABIAMOS PUESTO ANTERIORMENTE ESO  KIERE DECIR F4 Y LE DAREMOS ENTER
ahora damos un click en F4 y paramos la macro.
EN el boton le damos click derecho y le damos asignar macro y seleccionamos la macro que acabamos de crear le damos aceptar.
Ahora se da un click izquierdo al boton y el registro aparece en la parte de abao de los subtitulos podemos ingresar cualquier codigo que este registrado y nos aparecera.

Como crear un boton usando Visual Basic

Como pirmer paso usaremos presionaremos ALT F11 y apareceremos en Visual Basic ahora nos vamos en una de las pestañas donde dice  insertar, userform . Sale un cuadro y de ellos seleccionamos la que dice cuadro de texto la damos click y tenemos dos cuadros sobre el primero lo creamos y le ponemos en mi caso ASISTENCIA 2012.
Para arregalr el texto ponerlo mas bonito usaremos las siguientes herramientas:
  1. Font
  2. Forecolor
  3. Backcolor
Ahi podremos arrelgar el texto y poner color de fondo al texto y agrandarlo
Aqui veran un ejemplo de como les puede quedar.

Como siguiente paso se doble click izquierdo sobre el cuandro donde pusimos asistencia.
Aqui se saldra otro cuadro en el cual aparecen un texto aqui donde dice private abajo de ahi dejando un espacio pondremos lo siguiente
  1. IFVAL(TEXTBOX1)>=6000 THEN
ABAJO DE ESTA FORMULA [F4]= VAL (TEXBOX1)
Despues de esto en la columna superior izquierda se busca la macro que se creo.
Cuando ya se abra abra una serie de formulas aqui lo copiamos casi hasta abajo y lo copiamos luego lo cerramos y lo pegamos donde dejamos el espacio y abajo de esto se pone:
  • textbox1=empty
  • textbox1.set focus
  • End  if
  • End sub
asi les tendria que ir quedando

Luego de haber ingresado estas formulas se cierra esa ventana y crearemos oto boton similar al que habiamos hecho anteriormente y crearemos otro abajo donde se ingresara el codigo.
ahora para ver si funciona debemos ingresar un codigo y si est en la lista no lo va a tirar como la macro pasada y si se ingresa otro no saldra absolutamente nada.
Esto fue todo por hoy espero que les sea util y de su agrado.