Ir ao conteúdo

Posts recomendados

Postado

Olá,

 

Preciso de uma ajuda com VBA, a situação é o seguinte, eu preciso fazer uma Vlookup, o valor é buscado de uma caixa de texto e retorno o valor em outra caixa de texto, o problema é que o valor procurado é um numero dentro de uma planilha de excel

e o que eu digito dentro de uma textbox vira texto automaticamente, logo a formula não funciona, e fiz testes usando textos e ocorre tudo certo, porém preciso que seja numero, pois vou pegar um numero do sistema. alguem pode me ajudar com a conversão.

 

 

Private Sub TextBox1_AfterUpdate()

Dim req As Double

req = Application.WorksheetFunction.VLookup(TextBox1, Sheets("SC").Range("b1:f1200"), 2, False)

TextBox2 = req

End Sub

 

Screenshot_3.jpg.227143dc1950c2c720fc322ae416b0d7.jpg

Postado

@Taylor Piber Se o valor a ser procurado na planilha está no formato numérico então você deve fazer como o @Denis Bopp comentou e converter o primeiro argumento do Vlookup para número.

 

Tentou desta forma?

 

req = Application.WorksheetFunction.VLookup(Val(TextBox1), Sheets("SC").Range("b1:f1200"), 2, False)

 

  Em 16/07/2021 às 19:13, Taylor Piber disse:

se eu misturar texto com numero a formula funciona

Expandir  

Se os valores da mesma coluna estão em formatos diferentes talvez seja melhor você deixar a coluna com a mesma formatação (converter tudo para número, p.ex). Ou terá que considerar isso no código na hora da busca.

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades sobre tecnologia do Brasil. Leia mais

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...