Tomar datos de distintas hojas de otro libro y agruparlos ordenados en una sola

Debo tomar ciertos datos de distintas hojas de otro libro y agruparlos ordenados en una sola(ahora lo tengo hecho pero en 4 grupos y quiero que estén en un solo grupo

2 Respuestas

Respuesta
1

H o l a:

Entiendo que en el libro 1 quieres los resultados, entonces envíame el libro1 con un ejemplo de cómo quieres los resultados.

También entiendo que en el libro 2, tiene varias hojas, que quieres tomar datos de las hojas y pasarlas al libro 1, entonces envíame el libro 2 y me explicas con colores y comentarios, de cuáles hojas y cuáles celdas quieres pasar al libro 1.

Entre más claro y explicado esté el ejemplo, más fácil será realizar la macro.

Sal u dos

¡Gracias! Envíe

Te anexo la macro

Sub Resumen()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("general")
    Set h2 = Sheets("resumen")
    '
    k = 2
    h2.UsedRange.Offset(1, 0).ClearContents
    For j = 1 To h1.Cells(4, Columns.Count).End(xlToLeft).Column Step 6
        For i = 5 To h1.Range("A" & Rows.Count).End(xlUp).Row
            If h1.Cells(i, j) <> 0 Then
                h1.Range(h1.Cells(i, j), h1.Cells(i, j + 3)).Copy
                h2.Cells(k, "A").PasteSpecial xlValues
                k = k + 1
            End If
        Next
    Next
    u = h2.Range("A" & Rows.Count).End(xlUp).Row
    With h2.Sort
        .SortFields.Clear
        .SortFields.Add Key:=h2.Range("C2:C" & u)
        .SetRange h2.Range("A1:D" & u): .Header = xlYes: .MatchCase = False
        .Orientation = xlTopToBottom: .SortMethod = xlPinYin: .Apply
    End With
    Application.CutCopyMode = False
    h2.Select
    Application.ScreenUpdating = True
    MsgBox "Fin"
End Sub

R ecuerda cambiar la valoración de la respuesta.

¡Gracias! Excelente solución a mi problema! Genial

Limpiar un rango de la hoja resumen

Sub Resumen()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("general")
    Set h2 = Sheets("resumen")
    '
    k = 2
    u = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
    h2.Range("A2:D" & u).ClearContents
    For j = 1 To h1.Cells(4, Columns.Count).End(xlToLeft).Column Step 6
        For i = 5 To h1.Range("A" & Rows.Count).End(xlUp).Row
            If h1.Cells(i, j) <> 0 Then
                h1.Range(h1.Cells(i, j), h1.Cells(i, j + 3)).Copy
                h2.Cells(k, "A").PasteSpecial xlValues
                k = k + 1
            End If
        Next
    Next
    u = h2.Range("A" & Rows.Count).End(xlUp).Row
    With h2.Sort
        .SortFields.Clear
        .SortFields.Add Key:=h2.Range("C2:C" & u)
        .SetRange h2.Range("A1:D" & u): .Header = xlYes: .MatchCase = False
        .Orientation = xlTopToBottom: .SortMethod = xlPinYin: .Apply
    End With
    Application.CutCopyMode = False
    h2.Select
    Application.ScreenUpdating = True
    MsgBox "Fin"
End Sub
Respuesta
1

¿Qué tipos de datos son? ¿Cómo los quieres ordenar? ¿En base a qué criterios?

podrias darme tu mail asi te mando el archivo donde esta aclarado?o mandarme vos un mail a mi y te contesto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas