Una macro para búsqueda de datos

Que tal buena tarde estoy buscando una macro que busque en una hoja que ya tiene una base de datos un folio y que me arroje su información correspondiente en otra hoja y que su información correspondiente lo haga en diferentes celdas de esta hoja.

1 respuesta

Respuesta
1

Me puedes comentar lo siguiente:

1. Tienes la hoja "base de datos", ¿en qué columna tienes los folios?

2. ¿Cuáles celdas son las que se van a considerar?

3. Ahora, tienes la hoja "consulta", ¿en cuál celda vas a poner el folio?

4. ¿En cuáles celdas se va depositar la información?

5. ¿El folio en la base de datos puede aparecer varias veces?

6. Si puedes hacerme una relación de celdas, por ejemplo.

Si el folio se encontró por ejemplo en la fila 5.

Hoja "base de datos"                                       hoja "consulta

Celda "B5"                                                          celda "F2"

Celda "C5"                                                          Celda  "E2

Y así para cada una de las celdas que quieras pasar.

Ok los datos son los siguientes:

1- Seria en la columna B1 de la hoja de base de datos.

2-las celdas que se considerarían serian de la columna B a la Columna J de la hoja de base de datos.

3-Seria en la Celda X8 se pondría el folio

4-y la información tendría varios rangos serian los siguientes: B10:E29, I11:J11, L11, N11, P10:Q29

5-No tendría porque aumentaría uno después de una captura de información.

Y en la seis tienes razón que encuentre el folio y lo e ingrese la información de este si quieres te puedo mandar el archivo para que mas o menos te des una idea.Gracias

Sí, envíame tu archivo y con amarillo me marcas un ejemplo de lo que vas a buscar.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “juan carlos mendoza garcia” y el título de esta pregunta.

ya te lo envíe por ahí vas a ver dos correos son los dos uno trae el archivo y el otro no.

Hola que tal buen día ya te envíe la información que me solicitaste.

Te anexo la macro.

Sub TraerDatos()
'Por.Dante Amor
    Set h1 = Sheets("Hoja4")
    Set h2 = Sheets("Respaldo1")
    '
    i = 10
    Do While Cells(i, "B") <> "" Or Cells(i + 1, "B") <> ""
        i = i + 2
    Loop
    '
    Set b = h2.Columns("B").Find(h1.[T3], lookat:=xlWhole, LookIn:=xlValues)
    If Not b Is Nothing Then
        h1.Cells(i, "B") = h2.Cells(b.Row, "C")     'Orden de compra
        h1.Cells(i, "C") = h2.Cells(b.Row, "D")     'Cons
        h1.Cells(i, "D") = h2.Cells(b.Row, "E")     'Rda
        h1.Cells(i, "E") = h2.Cells(b.Row, "F")     'Ent
        h1.Cells(i + 1, "I") = h2.Cells(b.Row, "G") 'cantidad
        'h1.Cells(i+1, "J") = h2.Cells(b.Row, "C")  'unidad
        h1.Cells(i + 1, "L") = h2.Cells(b.Row, "H") 'Fecha
        h1.Cells(i + 1, "N") = h2.Cells(b.Row, "I") 'Precio
        h1.Cells(i, "P") = h2.Cells(b.Row, "J")     'Factura
        h1.Cells(i, "Q") = h2.Cells(b.Row, "K")     'Lote
    Else
        MsgBox "Número de folio no existe", vbExclamation
    End If
End Sub

Esta macro no tiene la opción de desproteger la hoja, si vas a tener la hoja protegida, avísame para agregar la opción de esproteger la hoja, escribir los datos y volver a proteger la hoja.

Saludos. Dante Amor

Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas