¿Cómo puedo hacer una macro de búsqueda?

Tengo una hoja en la cual en la celda A3 yo escribo un valor y ejecuto una macro de búsqueda que busca ese valor en otra hoja y me regresa el valor de otra columna pero el mismo renglón.
Por ejemplo:
Juan Lunes
Pedro Martes
Jose Jueves
Entonces en la celda A3 yo escribo Juan y al ejecutar la macro me regrese el valor Lunes.
Esto no puede ser mediante la función vlookup, ya que la celda A4 también la ocupo para yo registrar datos.

1 Respuesta

Respuesta
1
No es necesario hacer una macro, excel trae una función, se llama, BUSCARV().
Mira esta guía:
http://nea.educastur.princast.es/funcionesexcel/buscarv_teora_y_ejemplos.html
Hola:
Gracias por la respuesta.
La situación es que la celda en la cual quiero que me arroje la respuesta, forma parte de un formulario (el cual uso para crear nuevos registros pero también quiero que busque los ya existentes y me traiga esa info).
Por eso en dicha celda no puedo dejar escrita la función, ya que la tendría que borrar al crear un nuevo registro.
Obviamente como lo explicas ahora es muy diferente de lo que pusiste en la pregunta inicial; también, por la forma en que tiene que funcionar el formulario, obviamente no puede colocar la función allí.
Mira, se me ocurre que puedes usar una subrutina para usar la función BUSCARV temporalmente en una celda, explico:
Destina una celda vacía que no estés usando de una de las hojas del libro, para colocar TU FUNCIÓN BUSCARV temporalmente, luego tomas el valor de dicha celda y lo pones en una variable, así ya puedes seguir ejecutando el resto de tus pasos, como en el siguiente ejemplo:
Sub prueba()
Dim resutlado As String
'en este caso mi celda temporal es A1
'El valor buscado está en B1
'Y la tabla es desde C1 hasta D5
Range("A1").FormulaLocal = "=SI(NO(ESERROR(BUSCARV(B1;C1:D5;2;0)));BUSCARV(B1;C1:D5;2;0);""noesta"")"
resultado = Range("A1")
If restulado <> "noesta" Then
    'si existe en la tabla
Else
    'hace lo que tiene que hacer
    'en este caso
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas