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

  1. Abra o Excel e crie uma nova planilha.
  2. Insira dois botões na planilha:
    • Um botão para “Gerar Ternos”
    • Um botão para “Apagar Ternos”
  3. 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

  1. Pressione Alt + F11 para abrir o Editor VBA.
  2. No Editor VBA, insira um novo módulo: Inserir > Módulo.
  3. 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

  1. Volte para a planilha do Excel.
  2. Clique com o botão direito no botão “Gerar Ternos” e selecione “Atribuir Macro”.
  3. Selecione GerarTernos e clique em “OK”.
  4. Repita o processo para o botão “Apagar Ternos”, atribuindo a macro ApagarTernos.

Passo 4: Testar o Sistema

  1. Clique no botão “Gerar Ternos” e insira o número de grupos desejado (entre 1 e 25).
  2. Os ternos serão gerados e exibidos na coluna A da planilha.
  3. 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!