[Excel] Auto completar e Lista automática - Planilha de promoções
[Excel] Auto completar e Lista automática - Planilha de promoções Leia neste artigo como fazer listagem com auto completar no Excel download do Exemplo
Especialista em Excel
[Excel] Auto completar e selecionar em Lista de validação - Planilha de promoções
Leia neste artigo como fazer um auto completar e selecionar os dados de uma lista de validação dando muito mais praticidade e velocidade na seleção de dados. O exemplo utilizado é na construção de uma planilha promoções.

Há algum tempo criamos o artigo Lista de validação de dados Excel com auto completar VBA, porém não tinha o vídeo e também o autocompletar era chamado sempre que se clicava em uma lista de validação.
Neste artigo você verá como fazer uma macro que seja apenas chamada quando você precisar á partir de um atalho em VBA.
Como criar a validação de dados com auto completar
Criar a lista base da consulta de dados
- Crie uma lista com os dados á partir da qual deseja selecionar o item;
- Esta lista pode conter os dados apenas que serão selecionados ou já ser uma tabela como no nosso exemplo, no qual temos uma planilha de pauta de promoções;
![[Excel] Auto completar e selecionar em Lista de validação - Planilha de promoções](/uploads/excel-auto-completar-e-selecionar-em-lista-de-validacao-planilha-de-promocoes-48a1249a7c.webp)
- No nosso exemplo é uma lista produtos que serão selecionados para a pauta de promoções, no caso serão selecionados portanto somente alguns;
Criar a lista de dados
- Clique na sua planilha que contém os dados e clique em Fórmulas, Gerenciador de Nomes e inclua o intervalo;
- Usaremos uma fórmula para fazer uma lista que ao incluir registros ela já se ajuste, mas poderia ser apenas selecionados os itens, o problema é que não há um auto-incremento neste caso, ou seja, a lista não se auto-ajusta;
- Para resolver o ajuste da altura da lista você pode criar uma tabela e na validação de dados selecionar a coluna dos produtos na tabela;
- Outra forma é utilizando uma fórmula de DESLOC, como a fórmula utilizada foi: =DESLOC('Lista de produtos'!$B$2;;;CONT.VALORES('Lista de produtos'!$B:$B)-1;1); Se quiser aprender como funciona a fórmula DESLOC de forma definitiva veja este artigo DESLOC Excel - Aprenda de uma vez por todas
![[Excel] Auto completar e selecionar em Lista de validação - Planilha de promoções 2](/uploads/excel-auto-completar-e-selecionar-em-lista-de-validacao-planilha-de-promocoes-2-8615129275.webp)
Criar a validação de dados
- Clique no local aonde serão inseridas as validações de dados com listas;
- Clique na guia Dados->Validação de Dados;
- Selecione a opção Permitir: Listas e em Fonte defina aonde está a sua lista de dados. A lista pode ser selecionada ou digitado o nome do intervalo, no nosso caso temos um intervalo nomeado Produtos;
![[Excel] Auto completar e selecionar em Lista de validação - Planilha de promoções 3](/uploads/excel-auto-completar-e-selecionar-em-lista-de-validacao-planilha-de-promocoes-3-dc8a91624b.webp)
- A nossa validação de dados já está pronta, você já consegue selecionar os itens na lista a partir da sua lista de validação, porém, ainda não temos o recurso autocompletar, que iremos inserir agora.
Criando Auto completar Excel
- Clique na guia Desenvolvedor, para habilitá-la siga as instruções: http://guiadoexcel.com.br/habilitando-a-guia-desenvolvedor-e-copiando-procedimentos-vba-sub-da-internet;
- Clique no botão Modo de Design e no botão Inserir selecione a opção Caixa de Combinação (Controle ActiveX)
![[Excel] Auto completar e selecionar em Lista de validação - Planilha de promoções 4](/uploads/excel-auto-completar-e-selecionar-em-lista-de-validacao-planilha-de-promocoes-4-1c943f59f5.webp)
- Desenhe uma caixa de combinação no Excel em qualquer lugar da planilha;
![[Excel] Auto completar e selecionar em Lista de validação - Planilha de promoções 6](/uploads/excel-auto-completar-e-selecionar-em-lista-de-validacao-planilha-de-promocoes-6-4cfcc0235e.webp)
- Na janela que segue altere a propriedade (Name) para TempCombo, conforme a imagem;
![[Excel] Auto completar e selecionar em Lista de validação - Planilha de promoções 7](/uploads/excel-auto-completar-e-selecionar-em-lista-de-validacao-planilha-de-promocoes-7-42658987d0.webp)
- Clique nesta lista em Font e altere as suas propriedades de fonte e tamanho;
![[Excel] Auto completar e selecionar em Lista de validação - Planilha de promoções 8](/uploads/excel-auto-completar-e-selecionar-em-lista-de-validacao-planilha-de-promocoes-8-97e73c111d.webp)
- Altere a propriedade ListRows conforme a quantidade de itens a serem listados de uma vez, sem rolar a barra, por exemplo 8;
- Feche a janela Propriedades e clique no botão Modo de Design na guia Desenvolvedor, desmarcando-o.
Inserir código VBA para listar os dados e para o auto completar
- Clique na guia Desenvolvedor e no botão Visual Basic;
- Na árvore de itens do VBA selecione a planilha aonde está a lista de validação de dados e dê um duplo clique, abrindo a área do código;
![[Excel] Auto completar e selecionar em Lista de validação - Planilha de promoções 9](/uploads/excel-auto-completar-e-selecionar-em-lista-de-validacao-planilha-de-promocoes-9-518795fbf3.webp)
- Cole o seguinte código fonte na planilha aonde você irá utilizar a sua validação com listar e auto completar
Option Explicit
'Baseado em código da www.contextures.com
Private Sub TempCombo_KeyDown(ByVal _
KeyCode As MSForms.ReturnInteger, _
ByVal Shift As Integer)
'Ocultar caixa de combinação e mover a próxima célula com Enter e Tab
Select Case KeyCode
Case 9
ActiveCell.Offset(0, 1).Activate
Case 13
ActiveCell.Offset(1, 0).Activate
Case Else
'Nada
End Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cboTemp As OLEObject
Dim ws As Worksheet
Set ws = ActiveSheet
Set cboTemp = ws.OLEObjects("TempCombo")
cboTemp.Visible = False
End Sub
Public Sub lsChamarAutoPreencher()
Dim lRng As Range
Set lRng = ActiveCell
lsComboAutoPreencher lRng
End Sub
Private Sub lsComboAutoPreencher(ByVal Target As Range)
Dim str As String
Dim cboTemp As OLEObject
Dim ws As Worksheet
Dim wsList As Worksheet
Set ws = ActiveSheet
Set wsList = Sheets(Me.Name)
Application.EnableEvents = False
Application.ScreenUpdating = False
If Application.CutCopyMode Then
'Permite copiar e colar na planilha
GoTo errHandler
End If
Set cboTemp = ws.OLEObjects("TempCombo")
On Error Resume Next
With cboTemp
.Top = 10
.Left = 10
.Width = 0
.ListFillRange = ""
.LinkedCell = ""
.Visible = False
.Value = ""
End With
On Error GoTo errHandler
If Target.Validation.Type = 3 Then
Application.EnableEvents = False
str = Target.Validation.Formula1
str = Right(str, Len(str) - 1)
With cboTemp
.Visible = True
.Left = Target.Left
.Top = Target.Top
.Width = Target.Width + 15
.Height = Target.Height + 5
.ListFillRange = str
.LinkedCell = Target.Address
End With
cboTemp.Activate
'Abrir a lista suspensa automaticamente
Me.TempCombo.DropDown
End If
errHandler:
Application.ScreenUpdating = True
Application.EnableEvents = True
Exit Sub
End Sub
4. Clique no botão Fechar do VBA, no canto superior direito, e retorne á pasta de trabalho do Excel.
5. Clique na guia Desenvolvedor e no botão Macros, depois selecione a macro lsChamarAutoPreencher que necessariamente deve estar com o nome da planilha em que quiser incluir a validação de dados com auto completar e autolistar dados.
![[Excel] Auto completar e selecionar em Lista de validação - Planilha de promoções 10](/uploads/excel-auto-completar-e-selecionar-em-lista-de-validacao-planilha-de-promocoes-10-289e0a7d80.webp)
Faça o download do arquivo abaixo do exemplo criado no vídeo deste artigo.
Planilha de Controle Financeiro no Excel
Tenha um controle bonito e completo do seu financeiro.
- Categorias e subcategorias já configuradas
- Planilhas separadas por tabela (configuração, lançamentos, resumo)
- Personalize com suas próprias categorias e ícones
Abraço
Marcos Rieper
Curso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:

Este conteúdo foi útil?
Continue lendo

Lista com Autocompletar Excel
Como criar uma lista com autocompletar ao digitar que irá retornar os dados para a célula selecionada com a validação.
Planilha de Custo Médio de Estoque no Excel Automática
Planilha de Custo Médio de Estoque no Excel (Automática para Vários Produtos) — Pare de Perder Dinheiro! Como calcular custo médio Excel.

Planilha de escala de trabalho automática Excel
Quanto Vale o seu tempo? Esta planilha de escala de trabalho automática Excel economiza horas de trabalho e garante uma escala correta.

