Fusionar columnas de un libro de origen distinto al libro de destino

Tengo esta macro hecha por Dante Amor (muchas gracias), que crea una columna cogiendo los datos de otras columnas y fusionándolas. Necesito saber si se puede adaptar para que las columnas de origen sean del archivo de Excel "X", y la columna se cree en el archivo de Excel "Y".

Sub FusionarColumnas()
Set h = Sheets("HojaWA") 'hoja destino
col = "A" 'columna destino
'
Cols = Array("Z", "X", "X", "X", "X", "Y", "Y", "Z") 'columnas origen
hojas = Array("NIEVES", "MAMEN", "CARMEN", "JOSE LUIS", "CRUZ", "PAQUI", "NURIA", "MARISA") 'hojas origen
'
h.Columns(col).Clear
For i = LBound(hojas) To UBound(hojas)
u1 = h.Range(col & Rows.Count).End(xlUp).Row + 1
u2 = Sheets(hojas(i)).Range(cols(i) & Rows.Count).End(xlUp).Row
Sheets(hojas(i)).Range(cols(i) & "1:" & cols(i) & u2).Copy h.Range(col & u1)
Next
MsgBox "Fusíón de columna nombre completada"
End Sub

Respuesta
1

Te anexo la macro actualizada

Sub FusionarColumnas()
'Por.Dante Amor
    Set l1 = ThisWorkbook        'libro destino
    Set h1 = l1.Sheets("HojaWA") 'hoja destino
    col = "A"                    'columna destino
    '
    Set l2 = Workbooks("libro_origen.xlsx")
    cols = Array("Z", "X", "X", "X", "X", "Y", "Y", "Z")        'columnas origen
    hojas = Array("NIEVES", "MAMEN", "CARMEN", "JOSE LUIS", _
                  "CRUZ", "PAQUI", "NURIA", "MARISA")           'hojas origen
    '
    h1.Columns(col).Clear
    For i = LBound(hojas) To UBound(hojas)
        u1 = h1.Range(col & Rows.Count).End(xlUp).Row + 1
        u2 = l2.Sheets(hojas(i)).Range(cols(i) & Rows.Count).End(xlUp).Row
        l2.Sheets(hojas(i)).Range(cols(i) & "1:" & cols(i) & u2).Copy h1.Range(col & u1)
    Next
    MsgBox "Fusíón de columna nombre completada"
End Sub

Pon la macro en tu libro destino.

La hoja del libro destino se llama "HojaWA" y te va a poner la fusión en la columna "A"

El libro origen debe estar abierto.

Cambia el nombre de tu libro origen en esta línea de la macro:

Set l2 = Workbooks("libro_origen.xlsx")

Revisa que en el libro origen tengas todas estas hojas:

    hojas = Array("NIEVES", "MAMEN", "CARMEN", "JOSE LUIS", _
                  "CRUZ", "PAQUI", "NURIA", "MARISA")           'hojas origen
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas