boa tarde!
Mudei algumas funções no código.
agora gostaria se possível que mudasse para mim fazendo com que o numero dez seja o valor de uma célula que também esta na plan1, acredito que teremos de publicar como uma variável, mas não consegui.
Option Explicit
'C(n, p) = n! / ((n-p)! * p!)
'lPermutações a ser definido, seria o 'p' da fórmula acima
'Sub men()
Dim lPermutações As Long
Dim r As Long
Dim v(1 To 10)
'Test
'End Sub
Sub Teste()
Dim lElementos As Long
Dim l As Integer
Dim n_max As Integer
'Popula vetor de elementos
lPermutações = Worksheets("BOLÃO MEGA SENA").Cells(5, 6)
n_max = Worksheets("BOLÃO MEGA SENA").Cells(4, 6)
For l = 1 To n_max
v(l) = Worksheets("BOLÃO MEGA SENA").Cells(12 + l, 12)
Next l
'C(n, p) = n! / ((n-p)! * p!)
'lElementos seria o 'n' da fórmula acima
lElementos = UBound(v) - LBound(v) + 1
'Contador de linhas para uso no Excel:
r = 3
'Limpa Planilha ativa
'Cells.Delete
'Inicia recursão:
Combinação lElementos, lPermutações, 1
End Sub
Sub Combinação(n As Long, p As Long, k As Long, Optional s As String)
lPermutações = Worksheets("BOLÃO MEGA SENA").Cells(5, 6)
If p > n - k + 1 Then Exit Sub
If p = 0 Then
'Para visualizar o resultado de uma combinação no Excel:
r = r + 1
Cells(r, "A").Resize(1, lPermutações) = Split(s, "|")
'Se quiser visualizar o resultado na Janela de Verificação imediata, use:
Debug.Print s
Exit Sub
End If
'Recorre novamente:
Combinação n, p - 1, k + 1, s & v(k) & "|"
'Recorre novamente a partir do elemento anterior:
Combinação n, p, k + 1, s
End Sub
Postado : 18/11/2014 11:12 am