我大约有10张纸,所有纸都具有相同的列,但行数却有所不同(每张纸最多1000张)。不同的人填充工作表(有时会无意间弄乱格式)。
我想要一种将所有数据拉入一个主表的方法,这样它就可以从表1,A1:H1000抓取数据,并将其放入主表A1:H1000,然后从表2抓取数据。 A1:H1000并将其放入主表A1001:H2001
以此类推。 (因此,我可以在主表上放置过滤器/数据透视表,并查看系统中的所有内容,而不必手动从每张表中获取数据-每天会越来越长。)
我尝试将范围定义为表,并且可以让它完成3张工作表,但要依靠填充工作表的人小心翼翼,而且似乎超载。
有没有简单的方法?
TL; dr如何自动将工作表A和B中的行自动堆叠在工作表C中?
谢谢!
答案 0 :(得分:1)
如果工作表中的工作表是连续排序的(例如从索引1到10),则可以使用一个简单的循环:
Sub combine()
Dim i As Integer
Dim startRow As Long: startRow = 1
Dim endRow As Long: endRow = 1000
' enter master sheet name below
With ThisWorkbook.Worksheets("master sheet name")
' setup the start & end indexes below
For i = 1 To 10
.Range(.Cells(startRow, "A"), .Cells(endRow, "H")).Value = ThisWorkbook.Worksheets(i).Range("A1:H1000").Value
startRow = startRow + 1000
endRow = endRow + 1000
Next
End With
End Sub