2012-06-04 218 views
0

我每天都會收到一個工作簿,每天在每頁可變數量的頁面上列出50行信息,具體取決於總共有多少行。將多個工作表從多個工作表複製到一張工作表

如何將每個頁面的50行復制到一個主列表中?

從錄製宏,我得到

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

但我也需要遍歷整個工作簿。我無法找到一種方法來將每次迭代的表格選擇增加1,並將粘貼範圍增加50.

任何幫助?

回答

1

如何:

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 

它的所有工作表遍歷工作簿和內容複製到當前的活動工作表。循環排除當前活動工作表。它假定您試圖聚合的內容始終位於第5行至第54行。

+0

此功能完美無缺。感謝您的幫助和超快的響應! – user1435900

相關問題