Jump to content
temp01

Complementar macro para copiar rangos

Recommended Posts

Buenos días tengo la siguiente macro.

 La idea es copiar rangos de todas las hojas a la Hoja1 una debajo de otra.

ésta es la macro solo me funciona en la primera copia, estaré agradecido.

Sub copiar()
    Set h1 = Sheets("Hoja1") ' hoja principal
    '
    dato = Array("C1:D5", "A1:B5", "H1:I5")
    '
    For Each h In ThisWorkbook.Sheets
    If h.Name <> h1.Name Then
        u = h1.Range("A" & Rows.Count).End(xlUp).Row
        For j = LBound(dato) To UBound(dato)
             h.Range(dato(j)).Copy h1.Range("A" & u)
             u = u + 1
        Next j
    End If
    Next h
End Sub


 

MACRO COPIAR.xlsm

Share this post


Link to post
Share on other sites

Hola pero tengo otra duda que cada rango pertenece a una hoja como sería ?

intenté así

Sub copiar()
    Set h1 = Sheets("Hoja1") ' hoja principal
    '
    hoja = Array("Hoja2", "Hoja3", "Hoja4")
    dato = Array("A1:B5", "C1:D5", "H1:I5")
    '
    For Each h In ThisWorkbook.Sheets
    
        If h.Name <> h1.Name Then
            u = h1.Range("A" & Rows.Count).End(xlUp).Row
            '
            For i = LBound(hoja) To UBound(hoja)
                For j = LBound(dato) To UBound(dato)
                     h(i).Range(dato(j)).Copy h1.Range("A" & u)
                     u = u + h.Range(dato(j)).Rows.Count
                Next j
            Next i
            '
        End If
    
    Next h
End Sub

 

Share this post


Link to post
Share on other sites

 

Hace 19 horas, bigpetroman dijo:

no, asi tal como está, te toma las filas de cada rango/hoja, probaste?

 

si probé pero me sale error en la fila, dice que no admite esta propiedad.

h(i).Range(dato(j)).Copy h1.Range("A" & u)

'

también probé así persiste el error

 Sheets(h(i)).Range(dato(j)).Copy h1.Range("A" & u)

Share this post


Link to post
Share on other sites
En 12/2/2019 at 21:15 , temp01 dijo:

hoja = Array("Hoja2", "Hoja3", "Hoja4")

dato = Array("A1:B5", "C1:D5", "H1:I5")

Lo que intento ahora es copiar un rango por hoja, en la macro actual lo hace 3 rangos por hoja la cual no deseo. Gracias

Share this post


Link to post
Share on other sites

×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 6254 personas - Aprender Excel - Total: 4.7 / 5