Pegar información de un libro a otro pero reconociendo el nombre de la hoja según el material

Del libro 1 copiar todos los datos de la columna “i” que tengan el mismo nombre de la columna “e”, pegar en libro 2 buscando de la lista de la hoja el mismo nombre que aparece en la columna “e” del libro 1 en la columna “b” del libro 2, dentro de la hoja pegar los valores copiados en la primera celda disponible en la columna “h”, repetir el proceso para el mismo vinculo pero copiando los valores de la columna “b” del libro 1 a la “e” dentro de la hoja, poner la misma fecha a cada valor pegado dentro de la hoja la cual estará en la columna “A” del libro 1, agregar la fórmula +si(h>=1,”Corte”,””) en la columna “d” dentro de la hoja en cada valor pegado

Hacer esto con cada vínculo disponible del libro 1

(Solo afectara el macro de la fila 8 del libro 1 hacia abajo)

Te mande los archivos a tu correo con la misma pregunta con el ejemplo... [email protected]

1 Respuesta

Respuesta
1

H o l a: En un correo nuevo me envías tus archivos y me explicas con ejemplos y con colores lo que necesitas.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Hugo Mandujano Alcala” y el título de esta pregunta.

Ya le mande la información muchas gracias como me dijo

Te anexo la macro

Sub ActualizarSalidas()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets(1)
    '
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Seleccione archivo 2 de excel"
        .Filters.Clear
        .Filters.Add "xls.*", "*.xls*"
        .AllowMultiSelect = False
        .InitialFileName = ThisWorkbook.Path & "\"
        If Not .Show Then Exit Sub
        libro1 = .SelectedItems.Item(1)
    End With
    '
    Set l2 = Workbooks.Open(libro1)
    Set h2 = l2.Sheets(1)
    l1.Activate
    For i = 8 To h2.Range("A" & Rows.Count).End(xlUp).Row
        material = h2.Cells(i, "E")
        Set b = h1.Columns("B").Find(material, lookat:=xlWhole)
        If Not b Is Nothing Then
            Set vincu = b.Hyperlinks(1)
            'direc = vincu.SubAddress
            Set rango = Range(vincu.SubAddress)
            hoja = rango.Worksheet.Name
            Set h3 = Sheets(hoja)
            '
            u = h3.Range("B" & Rows.Count).End(xlUp).Row + 1
            If u < 6 Then u = 6
            h3.Cells(u, "B") = h2.Cells(i, "A")                 'fecha
            h3.Cells(u, "H") = h2.Cells(i, "I")                 'valor
            h3.Cells(u, "D") = "=IF(RC[4]>=1,""Corte"","""")"   'formula en col D
        End If
    Next
    Application.ScreenUpdating = True
    MsgBox "Salidas actualizadas", vbInformation
End Sub

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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas