¿De verdad quieres ganar dinero por Internet ayudando a los demás?

Aprende. Comparte tus conocimientos. Gánate el dinero honestamente. Esto es una profesión seria. Nadie da nada por nada.



martes, 5 de abril de 2011

Como llamar a una función BUSCARV simplificada con VBA en Excel 2007

0 comentarios
Buenas, me gustaría saber cómo puedo crear la función BUSCARV de tal manera que sólo me pida el dato a buscar y al ejecutarla me haga todo el cálculo. Gracias.

Mucha gente cree que ha de crear una UDF o Función Definida por el Usuario, pero lo cierto es que las funciones primitivas de Excel están creadas en C++ que es un lenguaje mucho más potente que Visual Basic, por lo que no merece la pena intentar recrear la función en VBA ya que será mucho más lenta.

La mejor solución es llamar a la función BUSCARV desde VBA.

Imaginemos que tenemos esta tabla de datos como origen de datos


Si queremos hallar el apellido de Segismundo, utilizaríamos la función BUSCARV de la siguiente manera:
=BUSCARV(A4;$A$2:$B$5;2). Recuerda que los datos de la tabla han de estar ordenados para que la función muestre los datos correctamente y no dé un error. Así, en este caso, al indicar como valor buscado A4 (Segismundo) nos devuelve el valor correspondiente (García)


Si lo que queremos es utilizar la función BUSCARV de manera más simple, teniendo solo que señalar el valor buscado hemos de crear una macro.


Activamos el Editor VBA con ALT + F11
Insertamos un módulo desde Insertar - Módulo


 Nuestro módulo aparecerá bajo la carpeta Módulos del explorador de VISUAL bASIC


En la ventana de la derecha pegamos el siguiente código


Sub Buscarvsimplificado() Creamos el nombre de la macro
Dim valorb As String  Definimos el tipo de dato
valorb = Application.InputBox("Valor Buscado", "Función BUSCARV Simplificada") Creamos el cuadro de introducción de datos
ActiveCell = Application.VLookup(valorb, Range("$A$2:$B$5"), 2)
 Indicamos que devuelva el resultado de la función BUSCARV en la celda seleccionada
End Sub



 Ficha programador - Código - Macros



Seleccionamos la macro Buscarvsimplificado
Hacemos clic en Opciones...



Asignamos las teclas de método abreviado y hacemos clic en Aceptar

Al pulsar en el atajo de teclas, en este caso, Ctrl + N se ejecutará la macro  mostrándose el cuadro de diálogo que nos solicitará que introduzcamos el valor que deseemos. Puede ser texto o podemos seleccionar la celda en la que se encuentra el valor.


Hacemos clic en Aceptar y observamos cómo nos muestra el resultado correctamente


Por último, para que funcione la macro si estamos en Excel 2007, hemos de guardar el libro de trabajo como Libro de Excel habilitado para macros, de lo contrario, el código no se ejecutará.


Nota: Cuidado al asignar las teclas de método abreviado, ya que si las que seleccionamos ya tiene asociadas una acción, dejará de funcionar para que nuestra macro funcione. En nuestro ejemplo, CTRL + N sirve para aplicar negrita. Si asignamos la macro a dicha combinación de teclas, no podremos aplicar negrita.

Y así es cómo creamos macros en Excel 2007

lunes, 4 de abril de 2011

Cómo mostrar dos series en un mismo gráfico

0 comentarios
Hola, ¿Quería saber cómo puedo tener dos ejes en un mismo gráfico? Vuestro blog es estupendo.

Es muy sencillo. Para ello, has de tener dos series de datos. Tomemos como ejemplo esta simple tabla.


A continuación, creamos un gráfico simple, desde Insertar - Gráficos - Columna


Aquí tenemos nuestro gráfico creado a partir de la tabla


Para mostrar la segunda serie de datos, hacemos clic con botón derecho sobre cualquiera de las columnas de datos del gráfico y seleccionamos Dar formato a serie de datos


En el cuadro de diálogo Formato de serie de datos, hemos de seleccionar la opción Eje secundario


Al cerrar el cuadro de diálogo, nuestra segunda serie de datos se mostrará en el lado derecho



NOTA: Si no aparece la opción eje secundario, has de cambiar el tipo de gráfico. Por ejemplo, si es columna apilada, no mostrará la segunda serie de datos, sin embargo, la agrupada sí lo mostrará.
 

Claudia Castellano | 5incoaprendices.com | 2011