0

最初の部分 (ユーザー名) が変更された 2 つのシートからデータの基本的なマージを行う必要がありますが、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

等々。これはかなり基本的な質問であることは知っていますが、これまでのところ答えは見つかりませんでした。ありがとう!

4

2 に答える 2

3

これは 2 つのレベルで簡単に実行できます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 に答える