Macro para copiar información de un libro a otro

Solicitando soporte nuevamente!

Tengo una hoja que recpoila información, como:

Lo que requiero es que al cargar los datos en esta hoja actualize una celda de otro libro.

Esta es el archivo de carga de datos-- C:\Reportes\Hojasdedatos\434.xlsx

Este es el archivo es la base da datos donde quiero que se actualicen lla celda--- C:\Reportes\Database.xlsx

En la hoja de carga de datos "434.xlsx" en la celda "x10" se introduce el código del producto y en la celda "AB16" se introduce la fecha de actualización de información para este producto.

La macro  que requiero :  en la hoja de carga de datos se  active ( sin que lo tenga abierto ) el libro detino "Database.xlsx"  y busque en la columna  "D"  el codigo introducido en la celda "x10"  y si encuentra este codigo,  que devuelda informacion especifica a la hoja de carga de datos  en celdas especificas (no de serie ="F15"), (Modelo="F18"), etc..   y que a su vez actualice  con la fecha de carga de la hoja de carga de datos  la base de datos y que se cierre y guarde el libro "database"

por ejemplo:

1 Respuesta

Respuesta
1

H o l a : Te anexo la macro para que la pongas en un botón.

Escribe el número de control y ejecuta la macro

Sub ActualizarDatos()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set l1 = ThisWorkbook
    Set h1 = l1.ActiveSheet
    libro2 = "Database.xlsx"
    ruta = l1.Path & "\"
    If Dir(ruta & libro2) = "" Then
        MsgBox "No existe el libro: " & libro2
        Exit Sub
    End If
    If h1.[X10] = "" Then
        MsgBox "Falta capturar el número de control"
        Exit Sub
    End If
    '
    Set l2 = Workbooks.Open(ruta & libro2)
    Set h2 = l2.Sheets(1)
    '
    Set b = h2.Columns("D").Find(h1.[X10], lookat:=xlWhole)
    If Not b Is Nothing Then
        h1.[F10] = h2.Cells(b.Row, "E")         'Nombre
        h1.[F11] = h2.Cells(b.Row, "F")         'Marca
        h1.[F12] = h2.Cells(b.Row, "G")         'No serie
        h1.[F13] = h2.Cells(b.Row, "H")         'Modelo
        h2.Cells(b.Row, "N") = h1.[G5]          'Fecha
        l2.Save
        l2.Close
        Application.ScreenUpdating = True
        MsgBox "Datos actualizados"
    Else
        l2.Close
        MsgBox "No existe el número de control"
    End If
End Sub

No me quedó claro que columna va en cuál celda del nombre, marca, etc. Tampoco entendí de cuál celda se tiene que tomar la fecha, pero puedes actualizarlo en la macro.

Tampoco pusiste cómo se llama la hoja del libro database.xlsx, en la macro puse que es la primer hoja: Set h2 = l2.Sheets(1)


'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas