Skip to main content

Como gerar ou listar todas as permutações possíveis no Excel?

Author: Xiaoyang Last Modified: 2025-08-06

Por exemplo, tenho três caracteres XYZ e agora quero listar todas as permutações possíveis com base nesses três caracteres para obter seis resultados diferentes, como este: XYZ, XZY, YXZ, YZX, ZXY e ZYX. No Excel, como você poderia gerar ou listar rapidamente todas as permutações com base em um número diferente de caracteres?

Gerar ou listar todas as permutações possíveis com base em caracteres usando código VBA


arrow blue right bubble Gerar ou listar todas as permutações possíveis com base em caracteres usando código VBA

O seguinte código VBA pode ajudá-lo a listar todas as permutações com base no número específico de letras que você possui; por favor, faça o seguinte:

1. Pressione e segure as teclas ALT + F11 para abrir a janela do Microsoft Visual Basic for Applications.

2. Clique em Inserir > Módulo e cole o seguinte código na Janela do Módulo.

Código VBA: Liste todas as permutações possíveis no Excel

Sub GetString()
'Updateby Extendoffice
    Dim xStr As String
    Dim FRow As Long
    Dim xScreen As Boolean
    xScreen = Application.ScreenUpdating
    Application.ScreenUpdating = False
    xStr = Application.InputBox("Enter text to permute:", "Kutools for Excel", , , , , , 2)
    If Len(xStr) < 2 Then Exit Sub
    If Len(xStr) >= 8 Then
        MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"
        Exit Sub
    Else
        ActiveSheet.Columns(1).Clear
        FRow = 1
        Call GetPermutation("", xStr, FRow)
    End If
    Application.ScreenUpdating = xScreen
End Sub
Sub GetPermutation(Str1 As String, Str2 As String, ByRef xRow As Long)
    Dim i As Integer, xLen As Integer
    xLen = Len(Str2)
    If xLen < 2 Then
        Range("A" & xRow) = Str1 & Str2
        xRow = xRow + 1
    Else
        For i = 1 To xLen
            Call GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
        Next
    End If
End Sub

3. Em seguida, pressione a tecla F5 para executar este código, e uma caixa de aviso será exibida para lembrá-lo de inserir os caracteres que deseja listar todas as permutações; veja a captura de tela:

enter the characters that you want to list all permutations in the box

4. Após inserir os caracteres e clicar no botão OK, todas as permutações possíveis serão exibidas na coluna A da planilha ativa. Veja a captura de tela:

all the possible permutations are displayed

Observação: Se o comprimento dos caracteres inseridos for igual ou maior que 8 caracteres, esse código não funcionará porque há muitas permutações.

the entered character length is not equal or greater than 8 characters


Listar ou gerar todas as combinações possíveis de várias colunas

Se você precisar gerar todas as combinações possíveis com base nos dados de várias colunas, talvez não haja uma boa maneira de lidar com essa tarefa. Mas o utilitário Listar Todas as Combinações do Kutools para Excel pode ajudá-lo a listar todas as combinações possíveis rapidamente e facilmente. Clique para baixar Kutools para Excel!

list all combinations by kutools

Kutools para Excel: com mais de 300 complementos úteis para o Excel, grátis para experimentar sem limitação por 30 dias. Baixe e experimente agora gratuitamente!

Melhores Ferramentas de Produtividade para Office

🤖 Kutools AI Aide: Revolucione a análise de dados com base em: Execução Inteligente|Gerar Código |Criar Fórmulas Personalizadas|Analisar Dados e Gerar Gráficos |Acionar Funções Aprimoradas
Recursos populares: Encontrar, Destacar ou Marcar Duplicados|Excluir Linhas em Branco|Combinar Colunas ou Células sem perder dados| Arredondar...
Super PROC: PROC com múltiplos critérios|PROC com múltiplos valores|Procura em várias planilhas|Correspondência Fuzzy....
Lista Suspensa Avançada: Crie rapidamente Lista Suspensa|Lista Suspensa Dependente|Lista Suspensa com Múltipla Seleção....
Gerenciador de Colunas: Adicionar um número específico de colunas |Mover Colunas |Alternar o Estado de Visibilidade de Colunas Ocultas| Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco|Visualização de Design|Barra de fórmulas aprimorada|Gerenciador de Pasta de Trabalho & Planilha|Biblioteca de AutoTexto|Selecionador de Data|Mesclar Dados |Criptografar/Descriptografar Células|Enviar Email por Lista|Super Filtro|Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ... ) |Mais de50 Tipos de Gráficos (Gráfico de Gantt, ... ) |Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ... ) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ... ) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ... ) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ... ) |... e muito mais
Use o Kutools no idioma de sua preferência – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 outros!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência sem igual. Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo.Clique aqui para obter o recurso que você mais precisa...


Office Tab traz interface de abas para o Office e facilita muito seu trabalho

  • Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas abas da mesma janela, em vez de novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!