Note: The other languages of the website are Google-translated. Back to English

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

Guia Office Habilite a edição e navegação com guias no Office e torne seu trabalho muito mais fácil ...
O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%
  • Reutilizar qualquer coisa: Adicione as fórmulas, gráficos e tudo mais usados ​​ou complexos aos seus favoritos e reutilize-os rapidamente no futuro.
  • Mais de 20 recursos de texto: Extrair número da string de texto; Extraia ou remova parte dos textos; Converta números e moedas para palavras em inglês.
  • Ferramentas de mesclagem: Várias pastas de trabalho e planilhas em um; Mesclar várias células / linhas / colunas sem perder dados; Mesclar linhas duplicadas e soma.
  • Ferramentas de divisão: Divida os dados em várias folhas com base no valor; Uma pasta de trabalho para vários arquivos do Excel, PDF ou CSV; Uma coluna para várias colunas.
  • Colar Ignorando Linhas ocultas / filtradas; Contagem e soma por cor de fundo; Envie emails personalizados para vários destinatários em massa.
  • Super Filtro: Crie esquemas de filtro avançados e aplique a qualquer planilha; tipo por semana, dia, frequência e muito mais; filtros por negrito, fórmulas, comentário ...
  • Mais de 300 recursos poderosos; Funciona com Office 2007-2019 e 365; Suporta todos os idiomas; Fácil implantação em sua empresa ou organização.

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 + mudança + Entrar chave. Em seguida, arraste o Pega de enchimento para obter todos os valores únicos. Veja a imagem:

Nota: 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.

Ponta: 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 Desenvolvedor > 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 Desenvolvedor > 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:


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office 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!
parte inferior da aba do escritório
Comentários (1)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Hi

A que "Eu" se refere no código e como o código mudará se eu tiver uma caixa de listagem MultiSelect?

Saudações
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos