Ir ao conteúdo
  • Cadastre-se
Nicollas Prudencio

Excel AutoPreencher VBA Não funciona

Posts recomendados

Bom dia pessoal.

Precisava de um autopreencher pra uma planilha e achei um tutorial legal neste site porém mesmo ao criar tudo e fazer tudo certinho exatamente como o tutorial mostra, ao digitar na célula com lista alguma coisa(só pra testar após ter terminado) simplesmente não acontece nada. Conforme imagem anexa, eu deveria digitar as primeiras letras de alguma coisa incluída na lista e já dar sugestões para autopreencher mas fica assim como esta na imagem.

Alguém consegue me ajudar nessa questão?

1.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Disponibilize aqui no fórum o seu arquivo Excel com tudo o que já fez baseado no tutorial.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimente substituir a fórmula utilizada para nomear o intervalo "Produtos".

 

fórmula atual

=DESLOC('Lista_Estoques (2)'!B5493;0;0;CONTAR.VAZIO('Lista_Estoques (2)'!B:B);1)

substitua por esta abaixo

=DESLOC('Lista_Estoques (2)'!$B$5;;;CONT.VALORES('Lista_Estoques (2)'!$B:$B);)

 

Veja se interessa. Segue anexado um arquivo com outro tipo de solução. Utiliza um Form. A diferença para esse que você tomou como base é que após inserir a letra inicial do nome procurado, a lista de nomes passará a exibir somente os nomes cuja inicial seja igual à inicial digitada, o que torna mais prática a busca do nome.

 

AutoCompletarMenuValidação.zip

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@osvaldomp Muito obrigado pelos ajustes! Esse método que de busca que sugeriu já havia visto, porém achei este que estava usando melhor justamente pelo motivo da praticidade como disseste mas se a solução dele é complicada vou implementar este form e depois retorno.

 

Uma pergunta, no ambiente da planilha tem o If que chama o form e esse comando está vinculado a coluna em si.

Mas e se eu tiver 2 ranges diferentes na mesma coluna, como mudar o If pra chamar a partir deles?

Usando essa planilha que enviei, os ranges estão exatamente em B17:23 e B25:31. Também pretendo colocar apenas na célula B13 onde o usuário irá escolher o cliente mas estes tem os dados da lista localizado em outro local.

Onde no código da form eu altero a origem dos dados de pesquisa?

 

 

Desde já, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para restringir os intervalos de atuação do código experimente o código abaixo.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Cancel = True
 If Not Intersect(Target, [B17:B23,B25:B31]) Is Nothing Then
  'UserForm1.Show ~~~> carrega o Form1 se o duplo clique ocorrer em B17:B23 ou em B25:B31
 ElseIf Target.Address = "$B$13" Then
  'UserForm2.Show ~~~> carrega o Form2 se o duplo clique ocorrer em B13
 Else: Cancel = False
 End If
End Sub

 

Para alimentar o Form2 a partir de intervalo diferente do Form1 altere conforme abaixo.

While .Cells(i, 1).Value <> Empty ~~~> o Form1 é alimentado com dados da coluna A, representada pelo número 1, em vermelho.

 

Se você for utilizar, por exemplo, a coluna B para alimentar o Form2 então substitua o número 1 pelo número 2.

While .Cells(i, 2).Value <> Empty

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@osvaldomp Ótimoo! Só mais uma coisa que esqueci de perguntar:

Como posso desabilitar o código para chamar o Form? Pois em certas situações o usuário terá que faze-lo para descrever manualmente o tipo de peça que deseja.

Penso em adicionar um botão na planilha, se for o caso qual seria o código para desabilitar a o Form e reativa-lo?

Compartilhar este post


Link para o post
Compartilhar em outros sites
51 minutos atrás, Nicollas Prudencio disse:

Como posso desabilitar o código para chamar o Form?

 

 

Não o chame ! 🤪

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!