将多张工作表中的数据合并到一张
Merge data from many sheets on to one
在excel中,我有几个sheet(大约50个),每个在A,B和C列中都有相同的header,然后最多199行数据(第 1 行 = header,第 2-200 行 = 数据)。命名规则如Wk 1 Mon
、Wk 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
在excel中,我有几个sheet(大约50个),每个在A,B和C列中都有相同的header,然后最多199行数据(第 1 行 = header,第 2-200 行 = 数据)。命名规则如Wk 1 Mon
、Wk 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