Saltar al contenido

Duda buscar dato exacto


Recommended Posts

publicado

Buenas tardes

Tengo un textbox que al cambiar va a la hoja busca un dato y lo pone en un label; sin embargo me busca cualquier parte del dato. Me explico, si en la base de datos tengo valores que empiezan por el mismo valor busca cualquiera que tenga ese dato y no el dato exacto.

Por ejemplo tengo en la base de datos el 10012 y luego 1001, si dígito 1001 el resultado que voy a obtener es el de 10012, ¿como hago para que me busque el dato exacto que dígito en el textbox?.

Por favor ayuda...

Private Sub TextBox1_AFTERUPDATE()
If TextBox1 = Empty Then
MsgBox "Por favor digite codigo a buscar"
Exit Sub
End If
CLIENTES.Select
busqueda = TextBox1.Value
Set rango = Range("a:a").Find(busqueda)
Label4 = Range("B" & rango.Row)
Label10 = Range("c" & rango.Row)
Label11 = Range("d" & rango.Row)
Label13 = Range("e" & rango.Row)
Label14 = Range("F" & rango.Row)
Label6 = Range("I" & rango.Row) & "-"
Label7 = Range("J" & rango.Row)
Label18 = Range("G" & rango.Row)
Label17 = Range("H" & rango.Row)
Label20 = Range("K" & rango.Row) & "%"
Label21 = Range("L" & rango.Row) & "%"
TextBox1.SetFocus
End Sub[/CODE]

publicado

Hola y gracias. El buscador que me enviaste funciona igual al que ya tengo; si digitas 10 y le das buscar te arroja lo primero que encuentra en la lista; la idea seria que no encuentre nada a menos que se digite algo que exista en toda su extensión en la base.

publicado

Solucionado! Ajuste el set y ya pude buscar el dato exacto.

Set rango = Range("a:a").Find(busqueda, LookIn:=xlValues, Lookat:=xlWhole)
If Not rango Is Nothing Then
'instruccion si encuentra los datos
else
'instruccion si no encuentra el dato
End if
End sub[/CODE]

publicado

En el codigo buscar cambia todo por esto y solo te buscara si coincide con tu consulta.

On Error GoTo NOENCONTRO
Rem esta línea genera una trampa de error si Excel encuentra un error se le dice que se vaya a la etiqueta noencontro que esta definida mas adelante en el código. No use la trampa de error si no tiene problemas a la hora de que no encuentra a la persona. Recuerde si usted comete cualquier error Excel se dirigirá a la etiqueta noencontro.y esquivara cualquier error, hasta uno que usted cometa en la programación.
Rem Código para buscar, ya lo conocemos
Cells.Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Offset(0, 1).Select
TextBox2 = ActiveCell
Rem la etiqueta 4 toma el valor del renglón activo y permite modificar la información que encontró, ya que modifiques la información presionas el botón actualizar.
NOENCONTRO:[/CODE]

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.