Página 1 de 1

Erro FindValue

Enviado: 09 Nov 2016 às 05:22
por JoaoFred
Bom dia,
Como estão?

Estou há imenso tempo com um bug no VBA e penso que possa ser nesta função, a partida muito simples, mas n sei o q se passa. A ideia é ver se encontra um texto, enviado pelo método, e ver se existe em alguma das colunas (B) da presente sheet. O que poderá estar errado aqui? Conseguem ajudar-me?

Obrigado
Código: Selecionar todos
Function FindValor(texto As String) As Boolean
Dim i
i = 1

If texto = "" Then
    FindValor = False
    GoTo Here
End If

 For i = 1 To 500
        If Cells(i, 2).Value = texto Then
            FindValor = True
            GoTo Here
        End If
    Next i


Here:

End Function

Erro FindValue

Enviado: 09 Nov 2016 às 08:15
por Reinaldo
Mas qual o "bug", a função simplesmente verifica entre a linha 1 e linha 500 se encontra o texto, assim que encontra retorna verdadeiro. Não parece nada incoerente

Re: Erro FindValue

Enviado: 09 Nov 2016 às 09:26
por JoaoFred
Pois.
Também me parece simples. Mas não funciona. N filtrava bem. Deve sem um problema qualquer coisa os GoTo.

Mas entretanto já tenho outro código que funciona. Deixo aqui caso dê jeito a alguém:
Código: Selecionar todos
Function FindValor2(texto As String, pagina As String) As Boolean

 Dim rgFound As Range

 Set rgFound = Worksheets(pagina).Range("b:b")

If rgFound.FIND(texto) Is Nothing Then
    FindValor2 = False
Else
    FindValor2 = True
End If

End Function
Mais simples e funciona