Como criar uma lista suspensa com várias seleções ou valores no Excel?
Por padrão, você só pode selecionar um item em uma lista suspensa de validação de dados no Excel. Como você pode fazer várias seleções na lista suspensa como mostrado abaixo do gif? Os métodos neste artigo podem ajudá-lo a resolver o problema.
Mais tutorial para lista suspensa ...
Crie uma lista suspensa com várias seleções com código VBA
Esta seção fornece dois códigos VBA para ajudá-lo a fazer várias seleções em listas suspensas em uma planilha. Os dois códigos VBA podem alcançar:
Você pode aplicar um dos seguintes códigos VBA para fazer várias seleções em uma lista suspensa em uma planilha no Excel. Por favor, faça o seguinte.
1. Abra a planilha que contém as listas suspensas de validação de dados das quais você deseja fazer várias seleções. Clique com o botão direito do mouse na guia da planilha e selecione Ver código no menu de contexto.
2. No Microsoft Visual Basic para Aplicações janela, copie o código VBA abaixo para a janela de código. Veja a imagem:
Código VBA 1: permitir várias seleções em uma lista suspensa sem duplicatas
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2019/11/13
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
If xRng Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not Application.Intersect(Target, xRng) Is Nothing Then
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or _
InStr(1, xValue1, ", " & xValue2) Or _
InStr(1, xValue1, xValue2 & ",") Then
Target.Value = xValue1
Else
Target.Value = xValue1 & ", " & xValue2
End If
End If
End If
End If
Application.EnableEvents = True
End Sub
3. aperte o outro + Q chaves para fechar o Microsoft Visual Basic para Aplicações janela.
Agora você pode selecionar vários itens da lista suspensa na planilha atual.
Supondo que você tenha selecionado um item acidentalmente e precise removê-lo sem limpar toda a célula e começar de novo. O seguinte código VBA 2 pode lhe fazer um favor.
Código VBA 2: permitir várias seleções em uma lista suspensa sem duplicatas (exclua itens existentes selecionando-o novamente)
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2023/01/11
'Updated by Ken Gardner 2022/07/11
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
Dim semiColonCnt As Integer
Dim xType As Integer
If Target.Count > 1 Then Exit Sub
On Error Resume Next
xType = 0
xType = Target.Validation.Type
If xType = 3 Then
Application.ScreenUpdating = False
Application.EnableEvents = False
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or xValue1 = xValue2 & ";" Or xValue1 = xValue2 & "; " Then ' leave the value if only one in list
xValue1 = Replace(xValue1, "; ", "")
xValue1 = Replace(xValue1, ";", "")
Target.Value = xValue1
ElseIf InStr(1, xValue1, "; " & xValue2) Then
xValue1 = Replace(xValue1, xValue2, "") ' removes existing value from the list on repeat selection
Target.Value = xValue1
ElseIf InStr(1, xValue1, xValue2 & ";") Then
xValue1 = Replace(xValue1, xValue2, "")
Target.Value = xValue1
Else
Target.Value = xValue1 & "; " & xValue2
End If
Target.Value = Replace(Target.Value, ";;", ";")
Target.Value = Replace(Target.Value, "; ;", ";")
If Target.Value <> "" Then
If Right(Target.Value, 2) = "; " Then
Target.Value = Left(Target.Value, Len(Target.Value) - 2)
End If
End If
If InStr(1, Target.Value, "; ") = 1 Then ' check for ; as first character and remove it
Target.Value = Replace(Target.Value, "; ", "", 1, 1)
End If
If InStr(1, Target.Value, ";") = 1 Then
Target.Value = Replace(Target.Value, ";", "", 1, 1)
End If
semiColonCnt = 0
For i = 1 To Len(Target.Value)
If InStr(i, Target.Value, ";") Then
semiColonCnt = semiColonCnt + 1
End If
Next i
If semiColonCnt = 1 Then ' remove ; if last character
Target.Value = Replace(Target.Value, "; ", "")
Target.Value = Replace(Target.Value, ";", "")
End If
End If
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub
Notas:
Crie facilmente uma lista suspensa com várias seleções com uma ferramenta incrível
Aqui recomendamos o Lista suspensa de seleção múltipla característica de Kutools for Excel para voce. Com esse recurso, você pode selecionar facilmente vários itens da lista suspensa em um intervalo especificado, planilha atual, pasta de trabalho atual ou todas as pastas de trabalho abertas conforme necessário.
Antes de aplicar Kutools for Excel, Por favor baixe e instale primeiro.
1. Clique Kutools > Lista suspensa > Lista suspensa de seleção múltipla > Configurações. Veja a imagem:
2. No Configurações da lista suspensa de seleção múltipla caixa de diálogo, configure como segue.
- 2.1) Especifique o escopo de aplicação no Aplicar a seção. Neste caso, eu seleciono Planilha atual de Escopo Especificado lista suspensa;
- 2.2) No Direção do texto seção, selecione uma direção de texto com base em suas necessidades;
- 2.3) No separador caixa, insira um delimitador que você usará para separar os vários valores;
- 2.4) Verifique o Não adicione duplicatas caixa no Opções seção se você não quiser fazer duplicatas nas células da lista suspensa;
- 2.5) Clique no OK botão. Veja a imagem:
3. Clique em Kutools > Lista suspensa > Lista suspensa de seleção múltipla para habilitar o recurso.
Agora você pode selecionar vários itens da lista suspensa na planilha atual ou em qualquer escopo especificado na etapa 2.
Se você quiser ter uma avaliação gratuita (30-dia) deste utilitário, por favor clique para fazer o downloade, em seguida, aplique a operação de acordo com as etapas acima.
Artigos relacionados:
Preenchimento automático ao digitar na lista suspensa do Excel
Se você tiver uma lista suspensa de validação de dados com valores grandes, precisará rolar para baixo na lista apenas para encontrar o apropriado ou digitar a palavra inteira diretamente na caixa de listagem. Se houver um método para permitir o preenchimento automático ao digitar a primeira letra da lista suspensa, tudo ficará mais fácil. Este tutorial fornece o método para resolver o problema.
Crie uma lista suspensa de outra pasta de trabalho no Excel
É muito fácil criar uma lista suspensa de validação de dados entre as planilhas de uma pasta de trabalho. Mas se os dados da lista de que você precisa para a validação de dados estiverem em outra pasta de trabalho, o que você faria? Neste tutorial, você aprenderá como criar uma lista suspensa de outra pasta de trabalho no Excel em detalhes.
Crie uma lista suspensa pesquisável no Excel
Para uma lista suspensa com vários valores, encontrar um adequado não é um trabalho fácil. Anteriormente, introduzimos um método de preenchimento automático da lista suspensa ao inserir a primeira letra na caixa suspensa. Além da função de preenchimento automático, você também pode tornar a lista suspensa pesquisável para aumentar a eficiência de trabalho ao encontrar os valores adequados na lista suspensa. Para tornar a lista suspensa pesquisável, tente o método neste tutorial.
Preencher automaticamente outras células ao selecionar valores na lista suspensa do Excel
Digamos que você tenha criado uma lista suspensa com base nos valores do intervalo de células B8: B14. Ao selecionar qualquer valor na lista suspensa, você deseja que os valores correspondentes no intervalo de células C8: C14 sejam preenchidos automaticamente em uma célula selecionada. Para resolver o problema, os métodos neste tutorial vão lhe fazer um favor.
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-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.

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!
































