2

それぞれ行数が異なる2つの列があります。この例では、A1 の項目を範囲 (B1:B50) でマージ (スカラー倍数? 複数の行列?) し、列 A の各項目に対して繰り返します。

2 つの値をカンマで区切るのが理想的です。これが私が達成したいことです。

どのルートに行くのが一番良いでしょうか?マトリックス関数はテキストの結合に使用できますか?

4

2 に答える 2

1

このコードを試してください:

Sub sample()

    Dim lastRowA As Long, lastRowB As Long, row As Long

    lastRowA = Range("A" & Rows.Count).End(xlUp).row
    lastRowB = Range("B" & Rows.Count).End(xlUp).row

    row = 1
    For i = 1 To lastRowA
        For j = 1 To lastRowB
            Cells(row, 4) = Cells(i, 1)
            Cells(row, 5) = Cells(i, 1) & "," & Cells(j, 2)
            row = row + 1
        Next
    Next

End Sub
于 2013-05-09T23:12:35.253 に答える
0

SQL からデータを取得している場合、aCROSS JOINは 2 つのデータ セットのデカルト積を返します。

次に、連結するだけです。

ここで SQL-Server を使用する例を次に示します。

CREATE TABLE #x (columnX CHAR(1));
INSERT INTO #x
    values
    ('a'),
    ('b'),
    ('c');

CREATE TABLE #y (columnY CHAR(1));
INSERT INTO #y
    values
    ('d'),
    ('e'),
    ('f');


SELECT  #x.columnX,
    #y.columnY,
    #x.columnX + ', ' +  #y.columnY
FROM    #x
    CROSS JOIN #y
于 2013-05-10T16:16:41.250 に答える