Combinando todas as combinações de dados de 8, 9 e 10 colunas no excel

0

Estou tentando descobrir como executar todas as combinações possíveis de dados em colunas 8, 9 e 10 (cada uma em páginas diferentes) e adoraria ter uma macro para cada uma delas.

Abaixo está uma macro para três colunas que eu encontrei no fórum (Combinando todas as combinações de dados de três colunas no Excel)

Eu preferiria uma macro que eu pudesse usar universalmente para qualquer número de colunas, mas não sei se isso é possível. Meu entendimento do VBA é muito limitado. Eu realmente não sei escrever códigos, eu apenas copio e colo coisas que eu acho que seriam efetivas e faria modificações se elas parecessem bastante fáceis.

Obrigado por qualquer feedback construtivo!

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
    
por Ben 04.06.2015 / 19:36

0 respostas