0

我需要对第一部分(用户名)更改的两张表中的数据进行基本合并,但第二部分是 120 个项目的预设列表。即,结合:

sheet1:USERLIST
albert
benny
cedric
dorothy
....

sheet2:ITEMLIST
item1
item2
item3
....
item120

所以另一张纸上的最终输出(在单独的单元格中)是

sheet3
albert item1
albert item2
....
albert item120
benny item1
benny item2
....
benny item120
cedric item1
cedric item2
....
cedric item120

等等。我知道这是一个非常基本的问题,但到目前为止我还没有找到答案。谢谢!

4

2 回答 2

3

这可以简单地在两个层次上完成For...Next

假设你有:

  • [表 1]:
    USER_LIST
    A
    B
    C
  • [表 2]:
    ITEM_LIST
    1
    2
    3
    4
    5
  • [表 3]:
    RESULT_LIST

有了这个子:

Private Sub Whatever_name_you_like()
    Dim i As Integer
    Dim j As Integer
    For i = 2 To Worksheets(1).Range("A65535").End(xlUp).Row
        For j = 2 To Worksheets(2).Range("A65535").End(xlUp).Row
            Worksheets(3).Cells(Range("A65535").End(xlUp).Row + 1, 1).Value = Worksheets(1).Cells(i, 1).Value & Worksheets(2).Cells(j, 1).Value
        Next
    Next
End Sub

运行时,[Sheet3] 将导致:

RESULT_LIST
A1
A2
A3
A4
A5
B1
B2
B3
B4
B5
C1
C2
C3
C4
C5
于 2013-04-24T09:01:02.270 回答
1

你能不能只用目标范围内的公式来做到这一点:

=Sheet1!A:A&Sheet2!A:A

只需将该公式复制到所有目标单元格中​​即可。

这避免了使用 VBA 和循环,并利用 Excel 的内置功能,因此无需启动 VBA 代码

于 2013-04-24T09:21:49.150 回答