Notifications
Clear all

Resultado da macro para o Notepad (ou para a planilha)

4 Posts
2 Usuários
0 Reactions
1,096 Visualizações
(@munhozmib)
Posts: 2
New Member
Topic starter
 

Boa tarde, pessoal!

Estou com uma macro no Excel que traz TODAS as combinações de 15 números dentro do universo de 1 a 17 (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ; 1,2,3,4,5,6,7,8,9,10,11,12,13,14,16 ...).

Apesar de ser uma macro extremamente simples, foi bem difícil chegar nela, tendo em vista que sou novato na área.

Ocorre que o resultado que me aparece é diretamente na MSGBOX, como é possível ver pela macro abaixo. Precisava muito colar essa informação no notepad ou, preferencialmente, na própria pasta de trabalho, em qualquer planilha. Alguém pode me ajudar? Estou quebrando a cabeça, mas sei que é algo extremamente simples!

Public ss As String
Sub Combinations(Optional v As Variant)
Dim n As Integer, m As Integer
Dim rng As Range
numcomb = 0
If IsMissing(v) Then
v = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
End If
ReDim Preserve v(1 To 17)
n = UBound(v, 1)
m = 15
If Application.Combin(n, m) > 22210 Then
MsgBox "Too many to write out, quitting"
Exit Sub
End If
ss = ""
'' Range("A3").Select
Comb2 n, m, 1, "'", v
MsgBox ss

End Sub

'Generate combinations of integers k..n taken m at a time, recursively
Sub Comb2(ByVal n As Integer, ByVal m As Integer, _
ByVal k As Integer, ByVal s As String, v As Variant)
Dim v1 As Variant
If m > n - k + 1 Then Exit Sub
If m = 0 Then
v1 = Split(Replace(Trim(s), "'", ""), " ")
sss = ""
For i = LBound(v1) To UBound(v1)
sss = sss & v(v1(i)) & " "
'' 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 n, m - 1, k + 1, s & k & " ", v
Comb2 n, m, k + 1, s, v
End Sub

Agradeço desde já o apoio!

 
Postado : 16/07/2015 2:44 pm
(@edcronos)
Posts: 1006
Noble Member
 

eu fiz uma planilha que gera combinações
está postada aqui no forum

download/file.php?id=17152

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 16/07/2015 5:56 pm
(@munhozmib)
Posts: 2
New Member
Topic starter
 

eu fiz uma planilha que gera combinações
está postada aqui no forum

download/file.php?id=17152

Edcronos, você é O cara! Muito legal sua planilha, confesso que procurei bastante antes de tentar desenvolver o código...
Por alguma razão, a planilha "só" gera 1.048.000 de combinações, aproximadamente, das três milhões existentes, causando um erro 1004. Mas quanto a isso eu me viro, você já me deu a faca e o queijo!

0brigado, de verdade!

 
Postado : 18/07/2015 7:46 am
(@edcronos)
Posts: 1006
Noble Member
 

esse limite é por causa do excel
a quantidade de linhas possíveis

se pode fazer com que a macro crie uma nova aba ou pule para um novo conjunto de colunas a cada numero de linhas
mas se é para loteria não vejo o significado em se ter todas as combinações em mãos
mesmo para filtragens e analises é muita coisa

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 18/07/2015 8:12 am