Tenho 4 colunas com um número diferente de registros em cada coluna. Quero obter uma nova tabela composta por essas 4 colunas e obter todas as combinações possíveis.
Minhas quatro colunas iniciais são:
A coluna A (segmento) possui 10 registros. A coluna B (Setor BAA) possui 14 registros. A coluna C (Terminal) possui 4 registros. A coluna D (Hora) possui 24 registros.
O resultado deve ser uma tabela de 4 colunas com 10*14*4*24 = 13.440 linhas.
Você pode me ajudar a fazer isso no Excel? Eu sei como fazer isso se o número de registros em cada coluna for o mesmo.
Responder1
Você pode adaptar esta pequena macro às suas necessidades:
Sub kombin()
Dim a As Long, b As Long, c As Long, d As Long
Dim pack(1 To 4) As Variant, K As Long
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = Sheets("Sheet1")
Set s2 = Sheets("Sheet2")
K = 1
For a = 2 To 11
pack(1) = s1.Cells(a, 1)
For b = 2 To 15
pack(2) = s1.Cells(b, 2)
For c = 2 To 5
pack(3) = s1.Cells(c, 3)
For d = 2 To 26
pack(4) = s1.Cells(d, 4)
s2.Range("A" & K & ":D" & K) = pack
K = K + 1
Next d
Next c
Next b
Next a
End Sub