我每天都会收到一份工作簿,在每页的可变页面上列出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。
任何帮助?
答案 0 :(得分: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行。