Excel - 工作表宏之间的基本复制粘贴

时间:2013-04-24 08:47:16

标签: excel excel-vba vba

我需要对第一部分(用户名)更改的2张数据进行基本合并,但第二部分是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

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

2 个答案:

答案 0 :(得分:3)

这可以在两级For...Next中完成。

假设你有:

  • [表Sheet 1]:
    USER_LIST
    A
    B
    C
  • [Sheet 2中]:
    ITEM_LIST
    1
    2
    3
    4
    5
  • [表Sheet 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

答案 1 :(得分:1)

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

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

只需在所有目标单元格中​​复制该公式。

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