Crear Busqueda... Cont.

Hola Valedor, Te comento que este es el primer trabajo que hago en Excel con UserForm, así que estoy medio en el aire. Acepté el reto y casi no duermo, me pase hasta las 3:00 AM y que crees... No lo logré, y ahora estoy en el trabajo. Tengo el Office 97 y en la ayuda del "Find" me indica un "After" para guardar una información y que de ahí en adelante siga buscando, también la función FindNext, que permite seguir buscando, pero la verdad tampoco pude. Lo que me diste funcionó (claro es lógico), encontró la primera similitud en la tercera fila de la base (correcto), pero no pued seguir buscando. Ahora, me dices que "... Si es que el código se repite", la verdad que son códigos únicos para cada producto, por consiguiente no se repiten, tengo que continuar la búsqueda por la cadena puesta en txtCadena.Text. La fila que me indicaste modificar lo hice así: Set Encontrado = Sheets("Hoja2"). Range("C:C").Find(strBuscado, after:=ActiveCell) que fue lo que entendí de la ayuda y me muestra la similitud en la fila 9, pasando por alto 6 anteriores. El FindNext no entendí como usarlo, no lo pude hacer. Ahora, la búsqueda de la siguiente similitud ¿lo hago con el mismo cmdBuscar o tengo que crear otro? (Mira en que nivel estoy, la verdad que soy autodidacta, de puro curioso hago esto, pero estas cosas no las estoy entendiendo). Otra cosa, el encontrado logro pasarlo bien a la hoja1 en la celda que corresponde, pero al "valor no encontrado" y "No hay nada que buscar" estuve tratando de quedar en el UserForm con el cursor en el txtCadena con frmBUsqueda.txtCadena.Set Focus pero no me funciona, para poder escribir una nueva cadena y reiniciar la búsqueda, queda la ventana de Búsqueda en azul, pero ninguno de los recuadros activado, debo hacer click en el que lleva la cadena a buscar para loder empezar a escribir ahí.
Bueno, ahora lo único que me falta es pedirte que te vengas a mi casa y lo hagas aquí, y la verdad que lo haces en tus respuestas. Espero algún día tener la posibilidad de conocerte personalmente. Es fabuloso lo que se puede lograr por medio de la Internet, pero sinceramente no quiero abusar de tu gentileza, si sucede por favor házmelo saber. Dios te bendiga.

1 Respuesta

Respuesta
1
Asi es, en lo personal la noche son las mejores horas para programar, yo tambien me he desvelado con algunas cositas...
'
'La busqueda siguiente, si bien la puedes establecer desde el mismo boton, para empezar podrias agregar un segundo boton que haga este trabajo, su codigo seria algo así...
Public Sub BuscarSiguiente()
Set Encontrado = Sheets("Hoja2").Range("C:C").FindNext(Encontrado)
End Sub
'CUIDADO, ahora Encontrado debes de pasarla a nivel modulo, es decir
'debajo de Option Explicit pues es una variable que ahora usaras en
'mas de un procedimiento, tambien te tienes que asegurar de que no es
'Nothing o sea de que no esta vacia, tambien tienes que saber cuando ya recorrio todas las celdas, o sea si ya regreso a al primera que encontro, en fin, son varias posibilidades, ahora, tienes mas tarea...
Valedor, disculpa una aclaración. Encontrado es un rango que muestra el contenido de la primera celda donde encontró la cadena de búsqueda. Yo deseo seguir buscando la misma cadena, si uso Encontrado estaría buscando por Ej. "Fórmula 1 - Vainilla" que es la primera coincidencia para la cadena de búsqueda de la lista, pero luego siguen otras varias que no solo comiencen con "Formu", sino que la cadena puede estar al medio o en cualquier ubicación. Cuando ejecuto paso a paso la primera búsqueda al colocar el puntero del mouse sobre Encontrado veo el contenido de la celda. Creo que me estoy confundiendo. No lo logro hacer.
Valedor, creo que la falta de sueño no me dejó ver con claridad. Desactive el Set Encontrado=Nothing y se logró hacer la búsqueda como quería, también logré la comparación de celdas para no tener un circuito sin fin. Excelente los desafíos que me pusiste, me costó un poco pero de eso se trata. No busco las cosas tan fáciles. Te felicito por tener este método de inducir a uno a pensar e investigar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas