Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por NSPERES
#65460
Boa tarde, estou com os códigos abaixo que numa tabela de 15 colunas x 11 linhas que combinadas entre si, com uma sequencia de 15 números, ao chegar na última linha da coluna deveria continuar a combinação na primeira linha da próxima coluna a direita, alguém poderia me ajudar com esse comando, abaixo o código que estou usando, roda direitinho mas quando chega na última linha, retorna erro pois tem informação para processar mas não tem espaço:

Sub ListAllCombinations()

Dim xDRg1, xDRg2, xDRg3, xDRg4, xDRg5, xDRg6, xDRg7, xDRg8, xDRg9, xDRg10, xDRg11, xDRg12, xDRg13, xDRg14, xDRg15 As Range 'para cada coluna

Dim xRg As Range
Dim xStr As String

Dim xFN1, xFN2, xFN3, xFN4, xFN5, xFN6, xFN7, xFN8, xFN9, xFN10, xFN11, xFN12, xFN13, xFN14, xFN15 As Integer 'para cada coluna
Dim xSV1, xSV2, xSV3, xSV4, xSV5, xSV6, xSV7, xSV8, xSV9, xSV10, xSV11, xSV12, xSV13, xSV14, xSV15 As String 'para cada coluna

Set xDRg1 = Range("B2:B12") 'primeira coluna com informação
Set xDRg2 = Range("C2:C12") 'segunda coluna com informação
Set xDRg3 = Range("D2:D12") 'terceira coluna com informação
Set xDRg4 = Range("E2:E12") 'quarta coluna com informação
Set xDRg5 = Range("F2:F12") '...
Set xDRg6 = Range("G2:G12") '...
Set xDRg7 = Range("H2:H12") '...
Set xDRg8 = Range("I2:I12") '...
Set xDRg9 = Range("J2:J12") '...
Set xDRg10 = Range("K2:K12") '...
Set xDRg11 = Range("L2:L12") '...
Set xDRg12 = Range("M2:M12") '...
Set xDRg13 = Range("N2:N12") '...
Set xDRg14 = Range("O2:O12") '...
Set xDRg15 = Range("P2:P12") '...

xStr = " " 'separador entre os valores combinados

Set xRg = Range("R2") 'célula que iniciará a combinação

For xFN1 = 1 To xDRg1.Count 'para cada For acrescentar um Next
xSV1 = xDRg1.Item(xFN1).Text
For xFN2 = 1 To xDRg2.Count
xSV2 = xDRg2.Item(xFN2).Text
For xFN3 = 1 To xDRg3.Count
xSV3 = xDRg3.Item(xFN3).Text
For xFN4 = 1 To xDRg4.Count
xSV4 = xDRg4.Item(xFN4).Text
For xFN5 = 1 To xDRg5.Count
xSV5 = xDRg5.Item(xFN5).Text
For xFN6 = 1 To xDRg6.Count
xSV6 = xDRg6.Item(xFN6).Text
For xFN7 = 1 To xDRg7.Count
xSV7 = xDRg7.Item(xFN7).Text
For xFN8 = 1 To xDRg8.Count
xSV8 = xDRg8.Item(xFN8).Text
For xFN9 = 1 To xDRg9.Count
xSV9 = xDRg9.Item(xFN9).Text
For xFN10 = 1 To xDRg10.Count
xSV10 = xDRg10.Item(xFN10).Text
For xFN11 = 1 To xDRg11.Count
xSV11 = xDRg11.Item(xFN11).Text
For xFN12 = 1 To xDRg12.Count
xSV12 = xDRg12.Item(xFN12).Text
For xFN13 = 1 To xDRg13.Count
xSV13 = xDRg13.Item(xFN13).Text
For xFN14 = 1 To xDRg14.Count
xSV14 = xDRg14.Item(xFN14).Text
For xFN15 = 1 To xDRg15.Count
xSV15 = xDRg15.Item(xFN15).Text

xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3 & xStr & xSV4 & xStr & xSV5 & xStr & xSV6 & xStr & xSV7 & xStr & xSV8 & xStr & xSV9 & xStr & xSV10 & xStr & xSV11 & xStr & xSV12 & xStr & xSV13 & xStr & xSV14 & xStr & xSV15

Set xRg = xRg.Offset(1, 0) '(1 linhas a pular) (0 na mesma coluna)

Next 'para cada For acrescentar um Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next

End Sub
#65463
NSPERES escreveu: 29 Jun 2021 às 17:41 ... tabela de 15 colunas x 11 linhas que combinadas entre si, com uma sequencia de 15 números,
Você sabe a quantidade de combinações possíveis ?
Curiosidade, qual a finalidade de obter essas combinações ?


ao chegar na última linha da coluna deveria continuar a combinação na primeira linha da próxima coluna a direita,
Experimente alterar conforme abaixo (não testado).
#

substitua esta linha
Set xRg = xRg.Offset(1, 0) '(1 linhas a pular) (0 na mesma coluna)

por estas
If xRg.Row = Rows.Count Then
Set xRg = Cells(1, xRg.Column + 1) 'muda para a linha 1 da coluna à direita
Else: Set xRg = xRg.Offset(1, 0) 'muda para a célula de baixo
End If
Por NSPERES
#65479
Boa tarde, Show, funcionou a adição na macro, quanto a curiosidade, vamos ficar ricos juntos, hehehe, nunca vejo a análise dos jogos por posição dos números que saíram em cada, filtrei então, de todos os resultados, qual número que saiu em cada posição, a macro foi para combinar todos os resultados dessas posições, dentro delas, eliminando os espaços vazios e as dezenas repetidas, terei digamos de 3 milhões de possibilidades para 5000 e em torno de 95% de possibilidade do acerto máximo, falando de lotofácil.
osvaldomp agradeceu por isso
#65480
Beleza. Desejamos sorte pra você.

E depois que você enriquecer, quando não quiser mais ter o trabalho de buscar novos prêmios na Caixa, e antes de se mudar pra Dubai como convidado Vip do Sheik, coloque aqui no fórum as dicas de como ganhar. :)
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord