Find o vlookup en VBA no encuentran valor que si existe

Como dice el titulo, no puedo hacer que find o vlookup en VBA encuentren un valor en un rango que si existe, de hecho lo busco desde el mismo excel y si me devuelve el valor buscado, quiero agregar que ese problema lo tuve con otro código y lo solucioné de la siguiente forma: num=Val(TextBox6) de esta forma me pasa el valor como numérico y ya lo puede encontrar, mi código es el siguiente:

Private Sub CommandButton3_Click()
Dim crango As Range, num As String
Sheets("CUARENTENA").Select
num = Val(TextBox6)
Set crango = Sheets("CUARENTENA").Columns("U:U")
'.Find(num, LookIn:=xlValues, searchorder:=xlColumns) ' este código lo tengo comentado para agregarlo a crango si quiero usarlo atravez de Find
vbus = Application.VLookup(num, crango, 1, 0)
Sheets("datalist").Unprotect
Sheets("datalist").Range("M1") = num
Sheets("datalist").Protect
'If crango Is Nothing Then ' este código lo tengo comentado para agregarlo a crango si quiero usarlo atravez de Find
If IsError(vbus) Then
MsgBox ("No se ha generado tarjeta roja"), vbCritical, ("AVISO | TQ")
Else
If Sheets("datalist").Range("N1") = 1 Then
Me.Height = 250
Me.Width = 600
Else
If Sheets("datalist").Range("N1") = 0 Then
MsgBox "Este folio no han capturado el COPQ", vbCritical, ("AVISO | TQ")
Me.Height = 157
Me.Width = 162
End If
End If
End If
End Sub

Este es mi archivo con los formularios https://drive.google.com/open?id=1O45rsPY8FqheR9eQTCLMcva6WW-lK80u , lo adjunto por si me pueden ayudar sea mas entendible, el menú se desactiva dando click en el "Punto" que esta a la izquierda de la letra C en el título, el formulario en cuestion se llama QualityV.

1 Respuesta

Respuesta
2

Antes que todo una disculpa no intenté preguntar sin antes validar bien mis datos, hoy me di cuenta al usar otro metodo alterno, es decir primero que valide el valor con un vlookup directamente en excel para despues referenciarlo en el código si cumple o no, me di cuenta que un dato me lo estaba pasando como texto, y eso se debe a que si bien en un formulario anterior el dato lo guardaba como número con "ejemplo" Sheets("datalist"). Range("M1")=Val(TextBox1), a la hoja de excel donde estaba ese mismo dato lo guargada con label en otra hoja de excel, fue error mío. Find y vlookup en el código ya me están funcionando.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas