Página 1 de 1

Gerar combinações acima de 1.048.576 no Excel

Enviado: 07 Ago 2023 às 17:06
por ruymds
Olá pessoal,

possuo um macro de gerador de números aleatórios e surgiu uma dúvida na implementação. Sabemos que o excel possuí o limite de 1.048.576 linhas, no entanto o rol de possibilidade que pretendo gerar é no total de 1.081.575.

Estou enviando o código para compreensão.

Possuo 25 números e desses quero combinar 17 em cada linha, isso dá no total de 1.081.575. O código está rodando corretamente para combinações abaixo de 1.048.576.

Alguém poderia me ajudar a reformular para gerar linhas com combinações de 17.

Obrigado.

Re: Gerar combinações acima de 1.048.576 no Excel

Enviado: 09 Ago 2023 às 12:47
por Foxtri
Boa tarde.
Segue uma opção.

Sub Comb2(ByVal r As Integer, ByVal q As Integer, _
ByVal k As Integer, ByVal s As String, v As Variant)
Dim v1 As Variant, sSs As String, i As Integer
If q > r - k + 1 Then Exit Sub
If q = 0 Then
v1 = Split(Replace(Trim(s), "'", ""), " ")
sSs = ""
For i = LBound(v1) To UBound(v1)
sSs = sSs & v(v1(i)) & " "
If ActiveCell.Row = 1048575 Then Cells(2, 22).Select
ActiveCell.Offset(0, i) = v(v1(i))
Next
'ActiveCell.Offset(0, 8) = sss
ActiveCell.Offset(1, 0).Select
ss = ss & sSs & vbNewLine
Exit Sub
End If
Comb2 r, q - 1, k + 1, s & k & " ", v
Comb2 r, q, k + 1, s, v
End Sub
Quando a linha for =1048575 então a celula ativa volta para a numero 2 da coluna "V"
Vc pode adequar onforme desejar.
Boa sorte.
Até
Foxtri

Re: Gerar combinações acima de 1.048.576 no Excel

Enviado: 10 Ago 2023 às 00:28
por ruymds
FoxTri,

Boa noite. Ao adicionar mais duas colunas ao projeto, ocorreu um erro na linha 12 "ReDim Preserve v(1 To i - 1)" ... e como mencionado ao atingir o número total de linha ele voltaria para a Coluna V linha 2, e nesse ponto fiz para iniciar na X "If ActiveCell.Row = 1048575 Then Cells(2, 24).Select". Mas mesmo assim o erro persiste.

Segue o código do projeto.
obrigado.

Re: Gerar combinações acima de 1.048.576 no Excel

Enviado: 10 Ago 2023 às 07:56
por Foxtri
Bom dia.
Veja.
Até
Foxtri

Re: Gerar combinações acima de 1.048.576 no Excel

Enviado: 10 Ago 2023 às 20:30
por ruymds
Obrigado Foxtri.
Vou seguir com as demais implementações aqui.
Até mais.