Macro para realizar una búsqueda

Necesito un macro o una fórmula que me permita realizar una búsqueda en una hoja diferente a la que estoy trabajando, por ejemplo, en la hoja uno están los resultados y en la hoja dos están las tablas en las que voy a buscar, básicamente lo que necesito es que con dos datos de la hoja 1 (que no siempre van a ser los mismos), se vaya a la hoja 2 y revise en la tabla y me de un valor. Pero no se como hacerlo, ayuda!

1 respuesta

Respuesta

Yo uso esto para traer a un trabajador que elijo en un comboficha en un formulario...

'Buscar el nombre del trabajador
Dim RangoBusqueda As Range
Dim resultado, Resultado2, valor As String
Dim I As Long
'ahora seteo el rango en donde la macro deberá buscar el código,
'que es la tabla que se encuentra en la hoja "trabajadores":
'noten que el rango incluye ambas columnas, ya que deberemos
'buscar el código y que la funcion nos devuelva el nombre:
Set RangoBusqueda = Sheets("trabajadores").Range("A2:C1048576")
'recorremos la columa A de la hoja "trabajadores"
With Sheets("trabajadores")
    'recorro de la fila 1 a la 5
    'For I = 1 To 100
        'tomo el codigo presente en la primer columna:
        valor = ComboFicha.Value
            'MsgBox Valor
        'coloco un controlador de errores:
        On Error Resume Next
        'busco a Valor en "trabajadores"
        resultado = Application.WorksheetFunction.VLookup(val(valor), RangoBusqueda, 2, False)
        Resultado2 = Application.WorksheetFunction.VLookup(val(valor), RangoBusqueda, 3, False)
        Cargo = Resultado2
        'MsgBox Cargo
        TextNombre.Text = resultado
        CommandButton1.Enabled = True
        'si hubo error (el codigo NO existe), dejo la celda en blanco
        'If Err.Number = 1004 Then
       ' MsgBox Resultado
        '    .Cells(I, 2).Value = ""
         ' Err. Clear
        'Else
        'si encontró el Valor, le coloco el nombre del producto en columna
        'de al lado
        'End If
   'Next I
End With
   ' Fin de buscar el trabajador

esta linea es la formula buscarV solo que esta en macro.. te la explico

resultado = Application.WorksheetFunction.VLookup(val(valor), RangoBusqueda, 2, False)

Valor es el valor que busco,

Rango busqueda es el rango donde se encuentra mi trabajador

Y el 2 es la columna que quiero regresar es decir mi resultado...

Si busco el valor 3305 que esta en la columna A me devolvera Juan que esta en la columna B que es el Numero 2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas