Excel: Una macro para obtener datos de una base

En base a un ejemplo veremos cómo la función BUSCARV nos puede ayudar a obtener un dato sin necesidad de recurrir a una macro.
MAR, 2 / JUN / 2015

Tenemos como ejemplo una base de datos de pacientes con historia clínica, nombre, apellido, fecha de ingreso, nombre del profesional, etc. de la que queremos sacar con el número de historia clínica los datos de cada paciente.

Esto puede resolverse con la función BUSCARV (CONSULTAV en Excel 2010) sin necesidad de una macro. Por ejemplo, supongamos que la tabla ocupa el rango [A1:C15] con historia clínica, nombre y fecha de ingreso, y reservando la primera fila para títulos. Si escribimos un número de historia clínica en [E2], podemos obtener los otros dos datos con funciones BUSCARV:

Nombre =BUSCARV(E2;A2:C15;2;FALSO)
Fecha de ingreso =BUSCARV(E2;A2:C15;3;FALSO)

La función BUSCARV tiene cuatro argumentos entre los paréntesis:

El primero es la clave que permite localizar el dato buscado. En este caso, el número de historia clínica.

El segundo es la tabla que contiene los datos para todas las claves. En este caso, la base de datos, sin incluir los títulos.

El tercero es el número de orden de la columna que contiene el dato buscado. En este caso, un dos para el nombre y un tres para la fecha de ingreso.

El cuarto, el valor lógico FALSO, indica que la función busca una coincidencia exacta entre el número de historia clínica suministrado y el de la base de datos.

Si insistimos en la opción de la macro, podemos probar con el siguiente código:

Sub datos()
[E2] = InputBox(“Nro. de historia
clínica?”)
nombre = [E3]
fecha = [E4]
texto = nombre & vbCrLf & fecha
MsgBox (texto)
End Sub

Esta macro pregunta por el número de historia clínica y lo guarda en la celda [E2] para que las funciones BUSCARV de la hoja obtengan los correspondientes nombre y fecha de ingreso. Luego, una instrucción MsgBox muestra los datos obtenidos.

Para que el nombre y la fecha aparezcan en renglones distintos, los concatenamos con la constante vbCrLf (carriage return, line feed), que representa el retorno de carro y el avance a una nueva línea.

¡Comparte esta noticia!

Últimos lanzamientos Ver más