Retroceder   Foro Ayuda Excel > Dudas y consultas sobre Excel > Macros y programación VBA
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
LinkBack Herramientas Desplegado
  #1  
Antiguo 19/10/08, 22:55:40
Principiante
 
Usuario desde: oct 2008
Versión de Excel: Excel 2003
Conectado desde: Uruguay
Mensajes: 11
Thumbs up Buscar dato en rango

Buenas y saludos a todos, mi consulta es la siguiente: tengo un formulario que busca en un determinado rango una valor (aunque no coincida completamente) que ingreso por medio de un TextBox y carga los encontrados en un ListBox, el tema es que tengo que escribir en mayusculas o minusculas, segun este en la lista para que lo encuentre, como lo puedo solucionar para que me busque independientemente de si esta en mayusculas o minusculas.
Esto es parte del codigo:

texto = UserForm1.TextBox1
For Each celda In Range("C5:C6000")
If celda = "" Then GoTo 1
For n = 1 To Len(celda) - Len(texto) + 1
If Mid$(celda, n, Len(texto)) = texto Then
UserForm2.ListBox1.AddItem celda

End If
Next n
1
Next celda

Grs y salu2.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #2  
Antiguo 20/10/08, 01:15:21
ST_ ST_ is offline
Gran participante
 
Usuario desde: sep 2008
Versión de Excel: Excel 2003
Conectado desde: México
Mensajes: 411
Predeterminado

usa mejor el método Find

en este sitio hay varios ejemplos al respecto,te doy este enlace que tiene 3 opciones(links),checa particularmente la 1 y 3,que son las que se acercan mas a lo que quieres
__________________
Salu2 ST

Última edición por ST_ fecha: 20/10/08 a las 01:27:11.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #3  
Antiguo 20/10/08, 04:06:46
Gran participante
 
Usuario desde: ago 2008
Versión de Excel: Excel 2003
Conectado desde: México
Mensajes: 101
Predeterminado

Hola LeoPernas, sin lugar a duda la recomendación que te dio ST es la mejor yo la llamaria ideal, puesto que el metodo Find sirve precisamente para ello.

Pero bueno si aun quiere seguir usando tu codigo yo le haria estos cambios igual y funcionan

1er codigo convierto todo en mayúsculas antes de compararlo:

texto = UserForm1.TextBox1
For Each celda In Range("C5:C6000")
If celda = "" Then GoTo 1
For n = 1 To Len(celda) - Len(texto) + 1
If Ucase(Mid$(celda, n, Len(texto))) = Ucase(texto) Then
UserForm2.ListBox1.AddItem celda

End If
Next n
1
Next celda

2do codigo, convertirlo todo a minúsculas antes de compararlo

texto = UserForm1.TextBox1
For Each celda In Range("C5:C6000")
If celda = "" Then GoTo 1
For n = 1 To Len(celda) - Len(texto) + 1
If LCase(Mid$(celda, n, Len(texto))) = LCase(texto) Then
UserForm2.ListBox1.AddItem celda

End If
Next n
1
Next celda

Bueno aunque insisto lo ideal es que siguieras la recomendación de ST, porque el método Find tiene varias opciones interesantes que podrias personalizar.

Saludos
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #4  
Antiguo 23/10/08, 01:08:03
Principiante
 
Usuario desde: oct 2008
Versión de Excel: Excel 2003
Conectado desde: Uruguay
Mensajes: 11
Predeterminado

ok, impecable, gracias a ST y a NEVERDELIMON por la cooperacion, grascias nuevamente por la cooperacion, saludos.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT +2. Ahora son las 01:54:09.


© Ayuda Excel

Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

1 2 3 4 5 6 7