Ir ao conteúdo
  • Cadastre-se
Braga Samuel

Excel Macro com problema - Não localizando resultado

Recommended Posts

Olá pessoal, tudo bem?

Por gentileza, vcs poderiam me ajudar?

 

Estou executando a macro abaixo na planilha em anexo, mas ela não localiza todos os resultados que peço. Resultados não localizados( faturar, vencendo e inferior). Os demais resultados estão sendo localizados normalmente....

Quebrei a cabeça para saber o porque, mas não encontrei nada e o VBA não da nenhum erro....

Agradeço se puderem ajudar.

 

Private Sub Workbook_Open()
    Call LocalizaPrimeiroAtraso
    Call LocalizaPrimeiroAtrasado
    Call LocalizaPrimeiroFaturar
    Call LocalizaPrimeiroVencido
    Call LocalizaPrimeiroVencendo
    Call LocalizaPrimeiroInferior

End Sub
 

Desktop.zip

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seja bem vindo, @Braga Samuel

 

Na verdade todos os seus códigos contêm o mesmo erro na mesma linha. Vamos analisar uma delas, aí é só corrigir igualmente para todas. Tomemos como exemplo a Sub LocalizaPrimeiroFaturar():

 

For Each I In wshVenc.Range("W8:W" & wshVenc.Range("A65536").End(xlUp).Row)

 

Sua intenção com o trecho em negrito é buscar a última célula preenchida para limitar a busca, correto? No entanto, você dá como referência a coluna A, que está vazia, então a expressão em negrito, Range("A65536").End(xlUp).Row  vai retornar 1 (linha 1) e a expressão toda irá se referir portanto ao range Range("W8:W1").

Quando você "coloca a carroça na frente dos bois" dessa forma, o Excel automaticamente corrige para Range("W1:W8") que será o intervalo de pesquisa, intervalo que obviamente não lhe interessa.

 

Então, para corrigir isso e incluir todas as linhas da tabela, use a mesma coluna como referência:

 

For Each I In wshVenc.Range("W8:W" & wshVenc.Range("W65536").End(xlUp).Row)

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá sr. Edson,

 

obrigado pelas boas vindas.

 

Agradeço não só por ter resolvido, mas também por ter explicado aonde estava errando.

 

Deu tudo certo aqui!

 

Obrigado, mais uma vez.

 

Grande abraço.

 

 

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

×