Ir para o conteúdo principal

Como criar caixas de listagem em cascata dinâmica no Excel?

Você pode saber como criar uma lista suspensa de validação em cascata no Excel. No entanto, como criar caixas de listagem em cascata dinâmica no Excel? Este artigo apresenta um método VBA para baixá-lo.

Crie caixas de listagem em cascata dinâmica com código VBA


Crie caixas de listagem em cascata dinâmica com código VBA

Como mostrado na captura de tela abaixo, você precisa criar uma caixa de listagem pai contendo os valores únicos da coluna Beber e exibir todos os valores correspondentes na segunda caixa de listagem com base na seleção na caixa de listagem pai. O seguinte código VBA ajuda você a conseguir isso. Faça o seguinte.

1. Em primeiro lugar, você precisa extrair todos os valores exclusivos da coluna Drink. Selecione uma célula em branco, insira a fórmula de matriz =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") no Barra de Fórmula, e depois pressione o botão Ctrl + Shift + Entrar chave. Em seguida, arraste o Pega de enchimento para obter todos os valores únicos. Veja a imagem:

Note: Na fórmula, $A$2:$A$11 é o intervalo do qual você extrairá valores exclusivos. J1 é a célula acima de onde sua fórmula está localizada.

Dica: Se a fórmula for muito difícil de lembrar e manusear, o Selecione Células Duplicadas e Únicas utilidade de Kutools for Excel será uma boa escolha para você extrair rapidamente todos os valores exclusivos de uma coluna.

Selecione a coluna que contém valores exclusivos dos quais você extrairá. Em seguida, habilite o utilitário clicando em Kutools > Selecionar > Selecione Células Duplicadas e Únicas. No Selecione Células Duplicadas e Únicas caixa de diálogo, selecione o Todos exclusivos (incluindo as primeiras duplicatas) opção e clique no OK botão. Em seguida, todos os valores exclusivos são selecionados na coluna. Copie e cole-os em um novo lugar. Veja a imagem:

Kutools for Excel: com mais de 200 suplementos úteis do Excel, grátis para testar sem limitação em 60 dias. Baixe e teste grátis agora!

2. Insira duas caixas de lista separadamente clicando em Developer > inserção > Caixa de listagem (controle ActiveX). Veja a imagem:

3. Clique com o botão direito na caixa de listagem pai e selecione Propriedades no menu de contexto. No Propriedades caixa de diálogo, altere o (Nome) campo para Bebidas ou outro nome conforme necessário, insira o intervalo de células que contém os valores exclusivos extraídos no ListFillRange campo e feche a caixa de diálogo.

4. Repita a etapa 3 para alterar a segunda caixa de lista (Nome) campo para o item no Propriedades caixa de diálogo.

5. Clique com o botão direito na guia da folha e selecione Ver código no menu do botão direito. Em seguida, copie o código VBA abaixo para a janela Código. Veja a imagem:

Código VBA: crie caixas de listagem em cascata dinâmica 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 Bebida e Item são os nomes de duas caixas de listagem, altere-os para seus próprios nomes.

6. aperte o outro + Q chaves para fechar o Microsoft Visual Basic para Aplicações janela.

7. Desative o modo de design clicando em Developer > Modo de design.

A partir de agora, ao selecionar qualquer tipo de bebida como Café na caixa de listagem pai, todos os itens de café serão exibidos na segunda. Selecionar chá ou vinho exibirá apenas os itens de chá ou vinho na segunda caixa de lista. Veja a imagem:


Artigos relacionados:

Melhores ferramentas de produtividade de escritório

Recursos mais comuns: Encontre, destaque ou identifique duplicatas   |  Excluir linhas em branco   |  Combine colunas ou células sem perder dados   |   Rodada sem Fórmula ...
Super pesquisa: VLookup de múltiplos critérios    VLookup de múltiplos valores  |   VLookup em várias planilhas   |   Pesquisa Difusa ....
Lista suspensa avançada: Crie rapidamente uma lista suspensa   |  Lista suspensa de dependentes   |  Lista suspensa de seleção múltipla ....
Gerenciador de colunas: Adicione um número específico de colunas  |  Mover colunas  |  Alternar status de visibilidade de colunas ocultas  |  Compare intervalos e colunas ...
Recursos em destaque: Foco da Grade   |  Vista de Design   |   Grande Barra de Fórmula    Gerenciador de pastas de trabalho e planilhas   |  Biblioteca (Auto texto)   |  Data Picker   |  Combinar planilhas   |  Criptografar/Descriptografar Células    Enviar e-mails por lista   |  Super Filtro   |   Filtro Especial (filtro negrito/itálico/tachado...) ...
15 principais conjuntos de ferramentas12 Texto Ferramentas (Adicionar texto, Remover Personagens, ...)   |   50+ de cores Tipos (Gráfico de Gantt, ...)   |   Mais de 40 práticos Fórmulas (Calcule a idade com base no aniversário, ...)   |   19 Inclusão Ferramentas (Insira o código QR, Inserir imagem do caminho, ...)   |   12 Conversão Ferramentas (Números para Palavras, Conversão de moedas, ...)   |   7 Unir e dividir Ferramentas (Combinar linhas avançadas, Dividir células, ...)   |   ... e mais

Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para obter o recurso que você mais precisa...

guia kte 201905


Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi

What does "Me" refer to in the code and how will the code change if I have a MultiSelect list box?

Regards
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations