
两个表的结构相同,那么解决方法就比较简单了。比如,假设右边四列数据的区域是从D2到G20,那么你可以选择其中一个表的D2至G20区域进行复制。然后,切换到另一个表,在D2单元格上点击右键,选择“选择性粘贴”选项,并勾选“跳过空单元格”选项,最后点击确定。
这只是其中一种方法,另外,你也可以使用公式来拖拽生成结果。不过,如果不止两个表,假设你有几十个甚至几百个表,手工操作就不太现实了,这时就需要考虑使用VBA代码来自动完成任务。
VBA代码可以大大简化工作流程,提高效率。以Excel为例,你可以编写一段VBA代码来批量处理这些表格,将所有表格中的数据汇总到一个新表格中,同时保持原始表格的排序不变。以下是一个简单的VBA示例代码,你可以根据自己的需求进行调整:
Sub MergeSheets()
Dim ws As Worksheet
Dim sourceRange As Range
Dim targetRange As Range
Dim i As Integer
Set sourceRange = ThisWorkbook.Sheets(1).Range("D2:G20")
Set targetRange = ThisWorkbook.Sheets(2).Range("A2")
For i = 3 To ThisWorkbook.Sheets.Count
ThisWorkbook.Sheets(i).Range("D2:G20").Copy
targetRange.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
Set targetRange = targetRange.Offset(1, 0)
Next i
Application.CutCopyMode = False
End Sub
这段代码会将从第三个表开始的所有表中的D2至G20区域的数据汇总到第二个表的A2单元格开始的位置,并且跳过空单元格。最后,记得取消剪贴板模式,以清除复制和粘贴的标记。
需要注意的是,以上代码仅为示例,具体实现时需要根据实际的工作表结构进行调整。你可以根据自己的需求,修改代码中的工作表名称、数据区域等信息,以确保代码能够正确地执行。