将多张工作表中的数据合并到一张

Merge data from many sheets on to one

在excel中,我有几个sheet(大约50个),每个在A,B和C列中都有相同的header,然后最多199行数据(第 1 行 = header,第 2-200 行 = 数据)。命名规则如Wk 1 MonWk 2 Tue等,一直到Wk 10 Fri

我想做的是在一个 sheet 上的一个列表中显示这些选项卡中的所有数据。我可以通过引用每个 sheet 中的每个单元格来做到这一点,一个在另一个下面,但问题是并非所有 sheets 实际上都有数据一直到第 200 行(有些只有header), 我希望跳过空行。

我完全不知道如何在 Excel 中解决这个问题。我对 VLOOKUP 之类的理解充其量只是基本的;我不确定我是否可以通过使用该系列函数来实现所需的功能。

我也研究了 Excel 的合并功能,但我认为这不是我在这种情况下所需要的。

有人可以建议我如何实现我的目标。我更愿意通过 worksheet only 函数来做到这一点,但如果有足够简单的解决方案,我愿意 VBA。

试试 VBA 的这一点。它基本上滚动浏览每个工作表,找到最后一行并将其粘贴到第一张数据的底部。方法有点粗糙,但确实有效!

Dim ws As Worksheet

For Each ws In Worksheets
    i = i + 1

    If i = 1 Then
        FirstSheet = ws.Name
    ElseIf i > 1 Then
        ws.Activate
        LastCell = Cells(65536, 1).End(xlUp).Row
        Range("A1:C" & LastCell).Select

        Selection.Copy
        Worksheets(FirstSheet).Activate
        Cells(Cells(65536, 1).End(xlUp).Row + 1, 1).Select
        ActiveCell.PasteSpecial xlPasteValuesAndNumberFormats
    End If
Next ws