0

在 excel 中,我有几张表(大约 50 张),每张表在 A、B 和 C 列中都有相同的标题,然后最多有 199 行数据(第 1 行 = 标题,第 2-200 行 = 数据)。命名例程是 as Wk 1 Mon, Wk 2 Tue, etc, 一直到Wk 10 Fri

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

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

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

有人可以建议我如何实现我的目标。我更愿意通过仅工作表的功能来做到这一点,但如果有一个足够简单的解决方案,我会对 VBA 持开放态度。

4

1 回答 1

1

试试这个 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
于 2016-04-07T15:22:54.030 回答