3 列のデータのすべての可能な組み合わせを記述するためのスクリプトを見つけましたが、4 列、場合によっては 5 列を書き込むようにコードを変更しようとしていますが、方法がわかりません。誰かがそれを助けることができれば、それは素晴らしいことです! 追加の変数を追加することで機能すると思われることを試してみましたが、変数が続く場所 (論理的に進むと思われる場所) に追加しますが、説明できない「コンパイルエラー: ループなしで実行」が表示されます。
User Excelllll からの 3 つの列のコード (変更なし) を次に示します。
コードの説明は次のとおりです。「このコードは、列 A、B、および C からデータを取得し、列 E、F、および G で説明した出力を提供します。」
Sub combinations()
Dim c1() As Variant
Dim c2() As Variant
Dim c3() As Variant
Dim out() As Variant
Dim j, k, l, m As Long
Dim col1 As Range
Dim col2 As Range
Dim col3 As Range
Dim out1 As Range
Set col1 = Range("A1", Range("A1").End(xlDown))
Set col2 = Range("B1", Range("B1").End(xlDown))
Set col3 = Range("C1", Range("C1").End(xlDown))
c1 = col1
c2 = col2
c3 = col3
Set out1 = Range("E2", Range("G2").Offset(UBound(c1) * UBound(c2) * UBound(c3)))
out = out1
j = 1
k = 1
l = 1
m = 1
Do While j <= UBound(c1)
Do While k <= UBound(c2)
Do While l <= UBound(c3)
out(m, 1) = c1(j, 1)
out(m, 2) = c2(k, 1)
out(m, 3) = c3(l, 1)
m = m + 1
l = l + 1
Loop
l = 1
k = k + 1
Loop
k = 1
j = j + 1
Loop
out1.Value = out
End Sub
よろしくお願いいたします。