Copiați mai multe rânduri din mai multe coli într-o singură coală

Primesc un registru de lucru de zi cu zi, care enumeră 50 de rânduri de informații pe pagină pe un număr variabil de pagini, în funcție de câte rânduri sunt total.

Cum pot copia cele 50 de rânduri din fiecare pagină într-o singură listă principală?

De la înregistrarea unei macro-uri primesc

Sub Macro2()  
    Sheets("Page1_2").Select
    Rows("5:54").Select
    Selection.Copy
    Sheets("Page1_1").Select
    Range("A56").Select
    ActiveSheet.Paste
End Sub

Dar am nevoie de aceasta pentru a trece prin întregul registru de lucru. Nu găsesc o modalitate de a mări selecția foii cu 1 pentru fiecare iterație și intervalul de pastă cu 50.

Orice ajutor?

0

1 răspunsuri

Ce zici:

Sub test()

    Dim curRow As Integer
    Dim activeWorksheet As Worksheet
    Set activeWorksheet = ActiveSheet
    curRow = 1
    For Each ws In ActiveWorkbook.Worksheets
        If Not ws.Name = activeWorksheet.Name Then
            ws.Range("5:54").Copy Destination:=activeWorksheet.Range(CStr(curRow) & ":" & CStr(curRow + 49))

            curRow = curRow + 50
        End If
    Next ws

End Sub

Se leagă deasupra tuturor foilor de lucru din registrul de lucru și copiază conținutul în foaia activă curentă. Luparea exclude foaia de lucru activă curentă. Se presupune că conținutul pe care încercați să îl agregați este întotdeauna în rândurile 5 până la 54.

0
adăugat
A funcționat perfect. Vă mulțumim pentru ajutor și răspunsul foarte rapid!
adăugat autor user1435900, sursa