Nombre en textbox

Hola:Valedor discculpa la molestia otra vez. Mira tengo el siguiente problema tengo un textbox en el cual pongo la clave de un proveedor y quiero que en otro textbox ponga el nombre usando el siguiente código
Private Sub TxtClave_Change()
clave=Txtclave.text
TxtName.Text = WorksheetFunction.VLookup(Val(clave), Sheets("Formato").Range("W1:AB9"), 2)
El problema es que si lo uso así no me pone el valor exacto que busco.
Pero si al final dela función le pongo, false)me manda un error cunado quiero teclear la clave 111 solo me permite poner el primer 1 ya que después me marca error
espero me puedas ayudar por que me urge
Muchas gracias

1 respuesta

Respuesta
1
Para estos casos yo uso este código...
Private Sub TxtClave_Change()
Dim Buscado As Range
Dim Clave As String
'Obtengo la clave a buscar
Clave = Trim(txtClave.Text)
'Busco la clave en la columna correspondiente
Set Buscado = Sheets("Formato").Range("W:W").Find(Clave, , xlValues, xlWhole, xlByColumns)
'Si Buscado = Nothing quiere decir que NO lo encontro
If Not Buscado Is Nothing Then
'Si lo encotro muestro el valor de la fila donde esta Buscado. Row
'y la columna 24 que es la columna X
TxtName.Text = Sheets("Formato").Cells(Buscado.Row, 24).Value
Else
'Si no lo encontró no hace nada, pero podrías darle un mensaje al usuario, aunque no te lo recomiendo en este evento
End If
'Libero la memoria usada
Set Buscado = Nothing
End Sub
Esto es más flexble que la función BuscarV

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas