Excel:合并表格

Excel:合并表格

我有 N 个表,每个表有 M 行。

例如我有两个表 A 和 B,分别有 4 行和 2 行:

表A

A1

A2

A3

A4

表 B

A1

A2

我想创建一个表 C,其中包含 4x2 条线并结合所有线的可能性:

表C

A1 B1

A1 B2

A2 B1

A2 B2

A3 B1

A3 B2

A4 B1

A4 B2

有没有办法用 Excel 实现这一点?如果有,怎么做?谢谢。

答案1

假设我们有两个列表,如下:

在此处输入图片描述

我们希望生成这两个列表的所有组合。运行此宏:

Sub generateCombinations()
    Dim nA As Long, nB As Long, K As Long, i As Long, j As Long
    Dim rc As Long
    rc = Rows.Count
    nA = Cells(rc, "A").End(xlUp).Row
    nB = Cells(rc, "B").End(xlUp).Row
    K = 1

    For i = 1 To nB
        vb = Cells(i, "B").Value
        For j = 1 To nA
            Cells(K, "C").Value = vb & " " & Cells(j, "A").Value
            K = K + 1
        Next j
    Next i
End Sub

将在列中产生C

在此处输入图片描述

宏的安装和使用非常容易:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

如果您保存工作簿,宏将随之保存。如果您使用的是 2003 以后的 Excel 版本,则必须将文件另存为.xlsm而不是.xlsx

要删除宏:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要使用 Excel 中的宏:

  1. ALT-F8
  2. 选择宏
  3. 触摸运行

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

必须启用宏才能使其工作!

相关内容