Página 1 de 1

[RESUELTO] Busqueda no secuencial

Publicado: Jue Mar 15, 2018 9:40 am
por Millocai
Hola a todos, haber si me podéis ayudar, necesito hacer una función que me devuelva la fila donde encuentre un dato en concreto, recibiría la linea de comienzo y el dato a buscar. Hice una función secuencial y funcionaba bien el problema es que las búsquedas se hacen tediosas ya que es una hoja con resultados de partidos de fútbol, contiene mas de 48000 lineas y aumenta a una velocidad de 2 o 3 mil lineas semanales.

Se que debe haber alguna instrucción rápida que lo haga ya que el botón buscar y remplazar funciona de manera casi instantánea y mis búsquedas tardaban muchos minutos ya que necesito encontrar los últimos 10 partidos que jugo como visitantes o los últimos 10 como local, y se suele dar el caso que entre el primero de ellos y el ultimo puede haber 30000 partidos de separación.

Espero haber explicado bien lo que necesito, haber si me podéis orientar ya que soy un programador aficionado y sin demasiada experiencia.

Re: Busqueda no secuencial

Publicado: Jue Mar 15, 2018 3:30 pm
por mauricio
Con un archivo de ejemplo, en vez de una imagen, con los que tienes, lo que esperas obtener y como lo has intentado resolver, ayudará a quien quiera ayudarte...

Saludos

Re: Busqueda no secuencial

Publicado: Vie Mar 16, 2018 12:31 pm
por Millocai
Yo he intentado 2 cosas, primero recorrer la lista de partidos desde el ultimo al primero para buscar los 10 últimos partidos de cada equipo mediante un bucle, pero es tedioso ya que ese proceso para analizar una jornada que pueda tener 300 partidos es una locura, otra cosa que hice después fue crear un indice con los nombres de los equipos y el numero de fila de sus 10 últimos partidos pero para poder acceder rápidamente debía ordenarlos y claro ordenar mas de 8000 se hace aun mas tedioso.

Lo que necesito es acceder directamente a una celda escogiéndola por su contenido, o sea si busco los partidos del Real Madrid, quiero saltar de uno a otro inmediatamente como hace el botón buscar y reemplazar de la barra de herramientas, estoy casi seguro que debe haber una manera relativamente sencilla de hacerlo, pero lo desconozco.

Re: Busqueda no secuencial

Publicado: Vie Mar 16, 2018 4:33 pm
por mauricio
Reitero, con un archivo de ejemplo, no obligas a quien quiera ayudarte a partir de cero, es una sencilla sugerencia que toma en cuenta el tiempo de quien quiera ayudarte.

Re: Busqueda no secuencial

Publicado: Mié Mar 21, 2018 12:06 pm
por Millocai
Os envío una copia super reducida de la base de datos para que podáis ver lo que tengo hecho, aunque he comprobado que el archivo subido no carga el archivo con los partidos y no se porque, porque el original si lo hace.

Estoy desesperado porque la base de datos tiene mas de 52000 partidos ya y es horrorosamente lento la búsqueda de los equipos como yo lo hago y no se hacerlo de otra manera.

El funcionamiento es el siguiente al pulsar el botón Analizar jornada de la pestaña análisis, abre el archivo que le indiquemos (en este caso el 22_3.ods) y va cogiendo todos los partidos 1 a 1 y busca a los equipos en la pestaña BD y va pasando los datos oportunos al recuadro de la pestaña 90 minutos, una vez rellena el recuadro, envía los resultados a la pestaña análisis donde queda el resumen.

El problema es recorrer la base de datos secuencialmente para buscar unos equipos tras otros tarda unos 2 minutos por partido, los fines de semana a veces son mas de 1000 partidos a analizar. Lo que quiero es una función que me localice los equipos de manera inmediata (como hace la opción buscar y remplazar, que se posiciona de uno a otro rapidisimo) para coger los datos de esa linea y ya luego repetir esa función para obtener los datos de sus últimos 10 partidos.

No se si me he explicado bien, es que no se ni como empezar para mejorar las búsquedas.

Re: Busqueda no secuencial

Publicado: Mar Mar 27, 2018 10:31 am
por Millocai
Nadie sabe como encontrar una celda por su contenido de manera directa? en una locura buscarlo secuencialmente en archivos grandes, por favor al menos decirme por donde tirar y yo investigo mas, estoy atascado necesito ayuda de esos programadores crack de esta comunidad, la web no me deja mandar el archivo completo por su tamaño para que podáis comprobar lo que tarda en hacer una búsqueda.

Re: Busqueda no secuencial

Publicado: Mar Mar 27, 2018 10:55 pm
por fornelasa
En mi caso, en cuando haya algo de tiempo intentaré ver tu consulta, por el momento:
Dice:
Búsqueda no secuencial
A manera de ejemplo: en este archivo puedes buscar por fecha, por liga, por Local, por Visitante, o por como gustes. Pulsa el cuadriculo azul para correr la macro.

Saludos.

Re: Busqueda no secuencial

Publicado: Jue Abr 05, 2018 10:35 am
por Millocai
Gracias por responderme fornelasa, últimamente he estado liado, miraré el archivo que has puesto y veré si me sirve, en cuanto lo haga te comento y mil gracias de nuevo por tu tiempo.

Re: Busqueda no secuencial

Publicado: Sab Abr 07, 2018 11:59 am
por Millocai
Querido fornelasa, estuve mirando tu solución a mi problema, y podría servirme con algunas adaptaciones, lo he pasado al archivo grande original y me da error al cambiar los rangos, creo que el error reside en el numero de pagina, ya que tu solución venía en un archivo con una sola hoja y el mío tiene 4, al ser la tercera hoja los sheets les doy el valor 2 y cambio los rangos de filas y columnas por los originales y para mi sorpresa me dá error de ejecución. He intentado cambiar los datos pero no hay manera.

https://mega.nz/#!780H1DBa!0vqekxUsWDmM ... ISDlEsjmz8

Este es el archivo, si pudieses echarle un vistazo haber que le pasa porque mi nivel de programación no me da para arreglarlo. El lio esta en la pestaña "BD", mil gracias por todo.

Re: Busqueda no secuencial

Publicado: Sab Abr 07, 2018 8:27 pm
por fornelasa
parece que teníamos unos ligeros errores de asignación de rangos.
Saludos, Federico.
https://mega.nz/#!2VUzxSYK!t0mXDNZjXoSE ... T_Wg9Y5IP0

Re: Busqueda no secuencial

Publicado: Dom Abr 08, 2018 9:03 am
por Millocai
Fornelasa todo perfecto, no tengo palabras suficientes de agradecimiento, me has echado un cablazo ya que yo no era capaz de hacerlo. A tus pies.