VBA – Lista Suspensa (Validação de Dados)

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on June 22, 2023

Este tutorial demonstrará como usar a validação de dados para trabalhar com listas suspensas no Excel usando o VBA.

A validação de dados do Excel permite limitar os valores que podem ser inseridos em uma célula ou intervalo. Você pode limitar as entradas a números inteiros positivos, texto, datas e muito mais. Neste tutorial, veremos como criar uma lista suspensa de validação de dados em uma célula usando o VBA.

opcoes frutas suspensas
Observação: uma alternativa à lista suspensa de validação de dados é um objeto ListBox. As ListBoxes podem ser adicionadas às planilhas do Excel. Os ListBoxes podem acionar macros que são executadas sempre que um valor do ListBox é alterado. As ListBoxes também são usadas em formulários de usuário VBA.

Criação de uma Lista Suspensa Usando VBA

Temos o texto Fruta na célula A1 e vamos criar uma lista suspensa na célula A2, com cinco entradas.

celula fruta

Usaremos o método Validation.Add e especificaremos que o parâmetro Type é xlValidateList. Você pode adicionar os itens específicos que deseja em sua lista usando o parâmetro Formula1.

O código a seguir criará uma lista suspensa de validação de dados na célula A2:

Sub ListaSuspensaEmVBA()

Range("A2").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Formula1:="Laranja,Maçã,Manga,Pera,Pêssego"

End Sub

O resultado é:

opcoes frutas suspensas

Preencher uma Lista Suspensa a Partir de um Intervalo Nomeado no VBA

Você pode usar um intervalo nomeado contendo os itens para preencher uma lista suspensa no VBA. Temos o intervalo nomeado Animais mostrado abaixo:

intervalo animais

Precisamos definir o parâmetro Formula1 igual ao intervalo nomeado. O código a seguir criará uma lista suspensa de validação de dados na célula A7 com base nos itens do intervalo nomeado:

Sub PreencherDeIntervaloNomeado()

Range("A7").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Formula1:="=Animais"

End Sub

O resultado é:

resultado animais suspenso

Removendo a Lista Suspensa

Você pode usar o método Validation.Delete para remover a lista suspensa da célula. O código a seguir removeria a lista suspensa da célula A7 no exemplo acima:

Sub RemoverListaSuspensa()

Range("A7").Validation.Delete

End Sub

Codificação VBA facilitada

Pare de procurar códigos VBA on-line. Saiba mais sobre o AutoMacro – um construtor de código VBA que permite que os iniciantes codifiquem procedimentos do zero com o mínimo de conhecimento de codificação e com muitos recursos que economizam tempo para todos os usuários!

alt text

Saiba mais!

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA