Saltar al contenido

problema con funcion buscarv (VLookup) no me devuelve


Recommended Posts

publicado

Hola gente acudo a ustedes ya que realmente no se que hacer;

tengo un userform que al ingresar "x" valor en el textbox1 buscara en la base de datos especificada y devolvera el resultado en textbox2. Si bien el formulario funciona, lo hace solo si busco numeros, es decir si busco el numero "1" me devuelve corretamente el valor que necesito, pero si busco por ejemplo "una palabra" ya no la encuentra.

el código es el siguiente

Private Sub CommandButton1_Click()
On Error GoTo error:
nombre = Application.WorksheetFunction.VLookup(VBA.CInt(Me.TextBox1), Sheets("datos").Range("A:B"), 2, 0)
Me.TextBox2 = nombre: Exit Sub
error:
Me.TextBox1 = "": Me.TextBox2 = ""
Me.TextBox1.SetFocus
MsgBox "Dato no encontrado"
End Sub[/CODE]

BAJAR ARCHIVO AQUI

Adjunto el archivo con el formulario para que lo ejecuten

Les agradezco si me pueden dar una mano.

un abrazo!

publicado

pues es lógico que te de error, con esta parte VBA.CInt(Me.TextBox1), estas convirtiendo a un ENTERO lo que tenga el TextBox1, y si tienes una palabra claro que dará errores, quita VBA.CInt y pruebas a ver, suerte

publicado

muchas gracias bigetroman, como veras soy megaprincipiante. Pues luego de subir este post pues segui buscando y encontre precisamente con lo que me contas y como ya habia perdido bastante tiempo intentando hacerla funciona enfin busque un poco mas y encontre este otro code que me cumple la funcion perfectamente, se los dejo por si a alguien le sirve, obviamente deben adaptarlo a su planilla

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

With Sheets("DATOS COMBINADOS")
Set v = .Columns("CN").Find(What:=Me.TextBox1.Text, _
LookIn:=xlValues, Lookat:=xlWhole)
If v Is Nothing Then
Me.TextBox1 = "": Me.TextBox2 = ""
Me.TextBox3 = "": Me.TextBox4 = ""
MsgBox "Item no encontrado"
Else
Me.TextBox2 = .Cells(v.Row, "co") 'NOMBRE
Me.TextBox3 = .Cells(v.Row, "CP") 'USUARIO
Me.TextBox4 = .Cells(v.Row, "CQ") 'EMAIL
Me.TextBox5 = .Cells(v.Row, "CR") 'FECHA
Me.TextBox6 = .Cells(v.Row, "CT") 'ARTICULO
Me.TextBox7 = .Cells(v.Row, "CU") 'PRECIO
Me.TextBox8 = .Cells(v.Row, "DB") 'SITUACION DE VENTA
Me.TextBox9 = .Cells(v.Row, "DC") 'CALIFICACION
Me.TextBox10 = .Cells(v.Row, "CW") 'SE ENVIO AVISO POR MAIL
Me.TextBox11 = .Cells(v.Row, "CX") 'SE ENVIO MATERIAL
Me.TextBox12 = .Cells(v.Row, "CY") 'VENDEDOR MOROSO
Me.TextBox13 = .Cells(v.Row, "CZ") 'ACUSE DE RECIBO
Me.TextBox14 = .Cells(v.Row, "DA") 'SEXO

End If
End With

Set v = Nothing
End Sub[/CODE]

Ahora estoy metido en otro embrollo diferente pero este tema creo que lo doy por cerrado. Gracias!!

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.