gostaria que me desse um código sistema VBA para geração de ternos de grupos dentro de 1 a 25 grupos com ternos aleatórios e com um botão para gerar e outro botão para apagar
Para criar um sistema em VBA que gere ternos de grupos aleatórios dentro de 1 a 25 grupos, e que tenha um botão para gerar e outro para apagar, siga os passos abaixo. Este código será implementado em uma planilha do Excel.
Passo 1: Preparar a Planilha
- Abra o Excel e crie uma nova planilha.
- Insira dois botões na planilha:
- Um botão para “Gerar Ternos”
- Um botão para “Apagar Ternos”
- Para inserir os botões, vá para a guia “Desenvolvedor” > “Inserir” > “Botão (Formulário)”. Se a guia “Desenvolvedor” não estiver visível, habilite-a em “Arquivo” > “Opções” > “Personalizar Faixa de Opções” > Marque “Desenvolvedor”.
Passo 2: Criar o Código VBA
- Pressione
Alt + F11
para abrir o Editor VBA. - No Editor VBA, insira um novo módulo:
Inserir
>Módulo
. - Cole o seguinte código no módulo:
Sub GerarTernos()
Dim i As Integer, j As Integer, k As Integer
Dim grupos As Integer
Dim terno As String
Dim linha As Integer
Dim numeros(1 To 25) As Integer
Dim temp As Integer
Dim rndIndex As Integer
' Limpa a planilha antes de gerar novos ternos
ApagarTernos
' Solicita ao usuário o número de grupos
grupos = InputBox("Digite o número de grupos (1 a 25):", "Número de Grupos")
' Verifica se o número de grupos está dentro do intervalo válido
If grupos < 1 Or grupos > 25 Then
MsgBox "Número de grupos inválido. Por favor, insira um número entre 1 e 25.", vbExclamation
Exit Sub
End If
' Inicializa o array com números de 1 a 25
For i = 1 To 25
numeros(i) = i
Next i
' Embaralha o array
For i = 25 To 2 Step -1
rndIndex = Int((i - 1 + 1) * Rnd + 1)
temp = numeros(i)
numeros(i) = numeros(rndIndex)
numeros(rndIndex) = temp
Next i
' Gera os ternos e os exibe na planilha
linha = 1
For i = 1 To grupos
For j = 1 To 3
terno = terno & numeros((i - 1) * 3 + j) & " "
Next j
Cells(linha, 1).Value = "Grupo " & i & ": " & terno
terno = ""
linha = linha + 1
Next i
End Sub
Sub ApagarTernos()
' Limpa a coluna A da planilha
Columns("A:A").ClearContents
End Sub
Passo 3: Associar os Botões às Macros
- Volte para a planilha do Excel.
- Clique com o botão direito no botão “Gerar Ternos” e selecione “Atribuir Macro”.
- Selecione
GerarTernos
e clique em “OK”. - Repita o processo para o botão “Apagar Ternos”, atribuindo a macro
ApagarTernos
.
Passo 4: Testar o Sistema
- Clique no botão “Gerar Ternos” e insira o número de grupos desejado (entre 1 e 25).
- Os ternos serão gerados e exibidos na coluna A da planilha.
- Clique no botão “Apagar Ternos” para limpar a coluna A.
Explicação do Código
- GerarTernos: Este procedimento solicita ao usuário o número de grupos, gera ternos aleatórios e os exibe na planilha.
- ApagarTernos: Este procedimento limpa a coluna A da planilha, removendo os ternos gerados anteriormente.
Considerações Finais
- O código gera ternos aleatórios embaralhando um array de números de 1 a 25.
- O número de grupos deve estar entre 1 e 25, caso contrário, o usuário será alertado.
- Os ternos são exibidos na coluna A da planilha.
Agora você tem um sistema funcional em VBA para gerar e apagar ternos de grupos aleatórios!
#chats