Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何将长表追加到一张母版图纸中(不合并)_Excel - Fatal编程技术网

Excel 如何将长表追加到一张母版图纸中(不合并)

Excel 如何将长表追加到一张母版图纸中(不合并),excel,Excel,我有大约10张表格,所有表格都有相同的列,但行数不同(每张多达1000行)。不同的人填充工作表(有时会无意中弄乱格式) 我想用一种方法将所有数据拉到一个主控表中,这样它从表1 A1:H1000中获取数据并将其放入主控表A1:H1000中,然后从表2 A1:H1000中获取数据并放入主控表A1001:H2001中 等等。(因此,我可以将过滤器/数据透视表放在主工作表上,并查看系统中的所有内容,而无需手动从每张工作表中获取数据,这每天都会变长。) 我已经尝试过将范围定义为表,并且可以让它完成其中的3

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

我想用一种方法将所有数据拉到一个主控表中,这样它从表1 A1:H1000中获取数据并将其放入主控表A1:H1000中,然后从表2 A1:H1000中获取数据并放入主控表A1001:H2001中

等等。(因此,我可以将过滤器/数据透视表放在主工作表上,并查看系统中的所有内容,而无需手动从每张工作表中获取数据,这每天都会变长。)

我已经尝试过将范围定义为表,并且可以让它完成其中的3个工作表,但是依赖于填充工作表的人员的小心,它似乎会过载

有简单的方法吗

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


谢谢

如果工作表在工作簿中按顺序排列(例如从索引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

这10张纸是一排的吗?喜欢第1张到第10张吗?谢谢Kubie!这些表是连续的,因此预期这会起作用;运行它似乎做了一些事情(需要一段时间来处理),但是“主”表中没有任何内容。我编辑了“母版图纸名称”,但没有其他内容。我是否需要在VBA中更具体地告诉它要查找哪些工作表?您的数据表从什么索引开始@JDoe,也只是在2个范围之后添加了
.Value
。。。现在该工作了