# Validar datos con VLOOKUP



## yoguibubu (Feb 26, 2002)

Como puedo validar un dato en un Userform que no lo encuentra VLookup?

Tengo puesto esto y no controla el error:

Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
        ValorChequeo = Application.VLookup(Val(UserForm1.TextBox2.Value), Worksheets("Productos").Range("B6", "D179"), 3, 0)
        If Err.Number = 2042 Then
            MsgBox "Este producto no existe"
            Cancel = True
            Exit Sub
        End If
End Sub


----------



## Juan Pablo González (Feb 26, 2002)

Bueno, traté con dos TextBox en un UserForm, en el que actualizo el TextBox2 con el valor buscado de TextBox1.

Usé este código:


```
If IsError(Application.VLookup(TextBox1.Value, Range("A1:B4"), 2, 0)) And TextBox1 <> "" Then
    MsgBox "No Existe"
    TextBox1 = ""
    Cancel = True
Else
    TextBox2 = Application.VLookup(TextBox1.Value, Range("A1:B4"), 2, 0)
End If
```

Y me funcionó, así que creo que el problema está en la definición del Rango de búsqueda.

Que pasa si en vez de 

Worksheets("Productos").Range("B6", "D179")

usa

Worksheets("Productos").Range("B6:D179")

?


----------



## yoguibubu (Feb 26, 2002)

Juan Pablo:
Funciona correctamente con el
   If IsError .....
Lo del Rango con , o con ; lo admite de las dos formas.
Saludos


----------

