Función match en macro

Hola que tal a todos por aquí,
Como es usual acudo a ustedes por ayuda!
Estoy haciendo una pequeña aplicación donde tengo varios campos y tengo que validad las entradas, lo cual ya esta hecho, pero tengo otro campo el cual tengo que validar con lo que ya tengo ingresado en una tabla donde almaceno datos para que no estén duplicados y estoy usando esta porción de código.
Function validaCliente(numero As String) As Boolean
'Dim valor As Double
MsgBox (numero)
valor = Application.Lookup(numero, Range("B4:b2003"), 0)
MsgBox (valor)
'On Error GoTo noExiste:
'valor = WorksheetFunction.Match(numero, Range("B4:B2003"), 0)
'MsgBox (valor)
'validaCliente = False
'validaCliente = True
'noExiste:
'If Err.Description <> "" Then validaCliente = True
validaCliente = False
End Function
En la parte donde pido que haga la búsqueda me ha estado mandando diferentes mensajes de error de pronto me dice que los tipos no coinciden o de pronto me dice que no encontró ninguna coincidencia cuando tengo 5 o 6 para pruebas.
ya probe con match, vlookup y solo Dios sabe cuantas mas, jejejeje...
Y con todas esas obtengo el mismo resultado o no coinciden los tipos o no encuentra datos según esto.
Espero me puedan ayudar con esta duda, quizá estoy haciendo algo mal o me falta algo en mi excel.
Saludos,
Erick.

1 Respuesta

Respuesta
1
Para buscar un dato en algún rango, no es necesario que uses fórmulas, sino la instrucción SET.
Ej:
Set busca = ActiveSheet.Range("B4:B2003").Find(numero,lookin:=xlvalues, lookat:xlwhole)
if not busca is nothing then
'instrucciones para cuando encuentra el dato
else
'instrucciones para cuando NO encuentra el dato
end if
set busca = nothing
A partir de esto tenés que desarrollar tus validaciones.
'busca' viene a ser como el Target....

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas