如何将长表追加到一个主表中(不合并)

时间:2019-01-11 14:25:01

标签: excel

我大约有10张纸,所有纸都具有相同的列,但行数却有所不同(每张纸最多1000张)。不同的人填充工作表(有时会无意间弄乱格式)。

我想要一种将所有数据拉入一个主表的方法,这样它就可以从表1,A1:H1000抓取数据,并将其放入主表A1:H1000,然后从表2抓取数据。 A1:H1000并将其放入主表A1001:H2001

以此类推。 (因此,我可以在主表上放置过滤器/数据透视表,并查看系统中的所有内容,而不必手动从每张表中获取数据-每天会越来越长。)

我尝试将范围定义为表,并且可以让它完成3张工作表,但要依靠填充工作表的人小心翼翼,而且似乎超载。

有没有简单的方法?

TL; dr如何自动将工作表A和B中的行自动堆叠在工作表C中?

谢谢!

1 个答案:

答案 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