É necessário que uma Sub chame a Function.
A Sub é que deve ser executada. A Function apenas é chamada.
Só estou tentando explicar a parte em que percorre as células em busca de um cnpj.
Como pode ver na imagem, essa parte do código funciona.
Public Function validacpf(ByVal cnpj As String, byval intervalo as string) As Boolean
validacpf = False
'For Each c significa Para cada célula
'In ThisWorkbook.Sheets("LISTA DE CNPJ PERMITIDO").Range("A2:A20") significa no intervalo A2:A20
For Each c In ThisWorkbook.Sheets("LISTA DE CNPJ PERMITIDO").Range(intervalo)
'Se o cnpj for igual ao valor da célula
If cnpj = c.Value Then
validacpf = True
Exit Function
End If
Next
End Function
Sub teste()
dim UltLinha as long
UltLinha = Sheets("LISTA DE CNPJ PERMITIDO").Cells(Rows.Count, "A").End(xlUp).Row
If validacpf("123", "A2:A" & UltLinha) Then
MsgBox "Encontrei o cnpj"
End If
End Sub
Postado : 17/05/2018 10:27 am