如何将两个 Excel 工作表的所有行合并到第三个工作表中?

如何将两个 Excel 工作表的所有行合并到第三个工作表中?

我有两张工作表,其中包含两个不同账户(一个储蓄账户和一个信用卡)的交易列表。我想将前两张工作表中的每一行都放到第三张工作表中,以便根据合并数据构建数据透视表。我该如何实现?

也就是说,我有10 行表A, 和10 行表B,我想最终得到一切20 行在另一个表C。它们的顺序对我来说并不重要。两个源工作表都具有相同的格式。

我尝试了一些方法:

  • Excel 的“合并”功能似乎无法实现这一点(尽管我可能遗漏了一些东西)。
  • 用于引用多个范围的数据透视表功能具有类似“连接”的逻辑,但这也不是我想要的。
  • 数据透视表功能多个合并范围听起来不错,但我也无法让该功能满足我的需要。

我正在使用 Excel 2013。

有很多非常相似的问题,但我还没有发现一个想要完全做到这一点的问题。

我的数据看起来完全像这样:

表 A

Date        Value       Description
21/01/2016  -$43.11     Pay credit card
18/01/2016  -$180.00    Movie tickets

表 B

Date        Value       Description
17/01/2016  -$21.00     Video games
18/01/2016  -$18.00     Beer

表 C(期望输出)

Date        Value       Description
21/01/2016  -$43.11     Pay credit card
18/01/2016  -$180.00    Movie tickets
17/01/2016  -$21.00     Video games
18/01/2016  -$18.00     Beer

答案1

请尝试下面的示例代码..

Sub test()
'change the sheet name and range name as yours

Set Rng = Sheets("Sheet1").Range("A1:A10")
Set Rng1 = Sheets("Sheet2").Range("A1:A10")

i = 1
j = 0

For Each cell In Rng
Sheets("Sheet3").Range("A" & i).Value = cell.Value
Sheets("Sheet3").Range("A" & i).Offset(0, 1).Value = cell.Offset(0, 1).Value
Sheets("Sheet3").Range("A" & i).Offset(0, 2).Value = cell.Offset(0, 2).Value
i = i + 1
Next cell
j = i

For Each cel In Rng1
Sheets("Sheet3").Range("A" & j).Value = cel.Value
Sheets("Sheet3").Range("A" & j).Offset(0, 1).Value = cel.Offset(0, 1).Value
Sheets("Sheet3").Range("A" & j).Offset(0, 2).Value = cel.Offset(0, 2).Value

j = j + 1
Next cel

End Sub

希望对你有帮助

相关内容