Olá,
Estou criando um código para que a cada número gerado, ele toque um som específico. Se o número gerado for o 10, ele toca o som 1 e se for qualquer outro, ele toca o som 2.
Porém eu só consigo fazer com que ele gere todos os números e toque os sons somente no final.
É possível fazer com que a cada número gerado seja tocado o som específico?
Desde já, agradeço.
Segue abaixo o meu código.
<Sub GerarNumerosAleatoriosSemRepeticao()
Dim i As Integer
Dim j As Integer
Dim bRandomOk As Boolean
Dim valor_aleatorio As Integer
Dim valor_maior As Integer
Dim total_numeros_gerados As Integer
Dim total_numeros_para_gerar As Integer
Dim iControleGerar As Integer
Dim iColunaCelula As Integer
valor_maior = 99 'Informe o maior número que poderá ser gerado
total_numeros_para_gerar = 15 'Informe a quantidade de números aleatórios que deseja gerar
total_numeros_gerados = 0
iLinhaCelulaInicial = 2 'Informe a linha da primeira célula que será escrito o número
iColunaCelula = 9 'Informe a coluna. Exemplo: Coluna B = 2
iControleGerar = total_numeros_para_gerar + iLinhaCelulaInicial - 1
'Gera quantos números forem indicados na variável 'total_numeros_gerados'
For i = iLinhaCelulaInicial To iControleGerar
total_numeros_gerados = total_numeros_gerados + 1
'Fica executando a geração de um novo número enquanto houver duplicidade
Do
'Verifica se ainda existem números possíveis a serem gerados
If valor_maior < total_numeros_gerados Then
valor_aleatorio = 0
bRandomOk = True
Exit Do
End If
'Gera um novo número
Randomize
valor_aleatorio = Int((valor_maior * Rnd) + 1)
bRandomOk = True
'Verifica se já saiu este número
For j = iLinhaCelulaInicial To i
If Cells(j, iColunaCelula).Value = valor_aleatorio Then
bRandomOk = False
Exit For
End If
Next j
Loop While bRandomOk = False
'Escreve o número na célula e toca o som
If valor_aleatorio = 10 Then
Plan1.WindowsMediaPlayer1.URL = (ThisWorkbook.Path & "\Som1.mpeg")
Cells(2, iColunaCelula).Value = valor_aleatorio
Else
Plan1.WindowsMediaPlayer2.URL = (ThisWorkbook.Path & "\Som2.mpeg")
Cells(i + 1, iColunaCelula).Value = valor_aleatorio
End If
Next i
End Sub>