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
Si tienes alguna duda sobre este artículo, crees que hay algo incorrecto (falta de ortografía, error en la imagen), una solución más sencilla o distinta, algo no te ha quedado claro o simplemente quieres saber más sobre ésta u otras funciones o posibilidades y no quieres dejar un comentario, rellena el Formulario de Contacto de la derecha.Te contestaré personalmente.
0 comentarios:
Publicar un comentario