KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como criar caixas de lista suspensas dinâmicas no Excel?

AutoraSiluvia Data de Modificação

Talvez já saiba como criar uma lista suspensa de validação em cascata no Excel. Mas e as caixas de lista em cascata dinâmicas? Este artigo revela um método VBA para as criar com facilidade.

Criar caixas de lista em cascata dinâmicas com código VBA


Criar caixas de lista em cascata dinâmicas com código VBA

Conforme ilustrado na imagem seguinte, deverá criar uma caixa de lista principal com os valores únicos da coluna «Drink» e, com base na seleção efetuada nessa caixa, exibir todos os valores correspondentes na segunda caixa de lista. O código VBA abaixo permite-lhe alcançar este objetivo. Siga os passos indicados.

caixas de lista dinâmicas em cascata

1. Em primeiro lugar, tem de extrair todos os valores únicos da coluna «Drink». Selecione uma célula vazia, introduza a fórmula matricial =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),«») na Barra de Fórmulas e, em seguida, prima as teclas Ctrl + Shift + Enter. Depois, arraste a Alça de Preenchimento para obter todos os valores únicos. Veja a imagem:

listar todos os valores únicos com fórmula

Nota: Na fórmula, $A$2:$A$11 é o intervalo do qual irá extrair os valores únicos. J1 é a célula imediatamente acima daquela onde está a sua fórmula.

Dica: Se a fórmula for difícil de memorizar e utilizar, a funcionalidade Selecionar Células Duplicadas/Únicas do Kutools para Excel é uma excelente opção para extrair rapidamente todos os valores únicos de uma coluna.

Por favor, selecione a coluna que contém os valores únicos que pretende extrair. Em seguida, ative a funcionalidade clicando em Kutools > Selecionar > Selecionar Células Duplicadas/Únicas. Na caixa de diálogo Selecionar Células Duplicadas/Únicas, selecione a opção Valores Únicos (Incluir a primeira duplicata) e clique no botão OK. Assim, todos os valores únicos serão selecionados na coluna — basta copiá-los e colá-los num novo local. Veja a imagem:

selecionar valores únicos com Kutools

Kutools para Excel: com mais de 200 add-ins úteis para Excel, gratuitos para experimentar sem limitações durante 60 dias.Transfira e experimente gratuitamente agora!

2. Insira duas caixas de lista separadamente, clicando em Programador > Inserir > Caixa de Listagem (Controlo ActiveX). Veja a imagem:

clicar em Caixa de Listagem no separador Programador

3. Clique com o botão direito do rato na caixa de lista principal e selecione Propriedades no menu de contexto. Na caixa de diálogo Propriedades, altere o campo (Nome) para Drink ou outro nome à sua escolha, introduza o intervalo de células que contém os valores únicos extraídos no campo ListFillRange e feche a caixa de diálogo.

especificar as opções no painel Propriedades

4. Repita o passo 3 para alterar o campo (Nome) da segunda caixa de lista para Item na caixa de diálogo Propriedades.

5. Clique com o botão direito do rato no separador da folha e selecione Ver Código no menu de contexto. Em seguida, copie o seguinte código VBA para a janela de Código. Veja a imagem:

Código VBA: Criar caixas de lista em cascata dinâmicas no Excel

Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
    Dim I, xRows As Long
    Dim xRg As Range
    Dim xRegStr As String
    Application.ScreenUpdating = False
    xRegStr = Me.Drink.Text
    Set xRg = Range("A2:A11")
    xRows = xRg.Rows.Count
    If xRegStr <> xPreStr Then
    Me.Item.Clear
   'Me.OtherListBoxName.Clear
    Set xRg = xRg(1)
    For I = 1 To xRows
        If xRg.Offset(I - 1).Value = xRegStr Then
            Me.Item.AddItem xRg.Offset(I - 1, 1).Value
            'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
        End If
    Next
    xPreStr = xRegStr
    End If
    Application.ScreenUpdating = True
End Sub

Notas: No código, Drink e Item são os nomes das duas caixas de lista; substitua-os pelos seus próprios nomes.

clicar em Ver Código para colar o código no módulo

6. Prima as teclas Alt + Q para fechar a janela Microsoft Visual Basic para Aplicações.

7. Desative o Modo de Estrutura clicando em Programador > Modo de Estrutura.

A partir de agora, ao selecionar qualquer tipo de bebida — como Café — na caixa de lista principal, todos os itens correspondentes serão exibidos na segunda caixa. Ao escolher Chá ou Vinho, apenas os respetivos itens aparecerão na segunda caixa de lista. Veja a imagem:

as caixas de lista dinâmicas em cascata foram criadas



Artigos relacionados:

As Melhores Ferramentas de Produtividade para o Office

🤖KUTOOLS AI Assistente: Revolucione o Análise de Dados com base em:Execução Inteligente   |  Gerar Código|  Criar fórmulas personalizadas  |  Analisar Dados e Gerar Gráficos|  Invocar Funções Aprimoradas
Funcionalidades Populares:Localizar, Destacar ou Marcar Duplicatas   |  Excluir linhas em branco   |  Combinar Colunas ou Células sem Perder Dados   |   Arredondamento sem usar fórmula...
Super PROC:VLookup com Múltiplos Critérios  |  VLookup com Múltiplos Valores  |   VLookup em Múltiplas Folhas   |   Correspondência Fuzzy....
Lista Suspensa Avançada:Criar Rapidamente Lista de Seleção   |  Lista de Seleção Dependente   |  Lista de Seleção com Múltipla Escolha....
Gestor de Colunas:Adicionar um Número Específico de Colunas|Mover Colunas|Alternar Estado de Visibilidade de Colunas Ocultas|Comparar Intervalos e Colunas...
Funcionalidades em Destaque:Grade de foco   |  Visualização de Design   |Barra de fórmulas aprimorada   | Gestor de Pastas de Trabalho e Folhas   |  Biblioteca de Recursos(Texto Automático)|  Seleção de Data   |  Consolidar Planilhas  |  Encriptar/Descriptografar Células   | Enviar Emails por Lista   |  Super Filtro   |   Filtro Especial(Filtrar Células com Fonte em Negrito/itálico/rasurado...) ...
Principais Conjuntos de Ferramentas 15:12 Ferramentasde Texto(Adicionar Texto,Excluir Caracteres Específicos, ...)|   50+Tiposde Gráfico(Gráfico de Gantt, ...)|   40+ Fórmulas Práticas(Calcular a idade com base na data de nascimento, ...)|   19 Ferramentasde Inserção(Inserir QR Code,Inserir Imagem a Partir do Caminho, ...)|   12 Ferramentasde Conversão(Converter em Palavras,Conversão de moeda, ...)|   7 Ferramentasde Mesclar e Dividir(Mesclar Linhas Avançado,Dividir Células, ...)|... e muito mais
Utilize o Kutools na sua língua preferida – suporta inglês, espanhol, alemão, francês, chinês e mais 40+ idiomas!

Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...


Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil

  • Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
  • Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!

Todos os suplementos Kutools — num único instalador.

Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.

ExcelWordOutlookTabsPowerPoint
  • Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Um instalador, uma licença— configuração em minutos (pronto para MSI)
  • Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
  • Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
  • Melhor relação qualidade-preço— poupe face à compra individual dos suplementos