RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  13428 - MéTODO FIND DE EXCEL
Autor:  xnmiranda xnmiranda
Tengo esta inquietud, a ver si alguien me puede ayudar:

Estoy leyendo mediante Visual Basic una hoja de Excel, a esta hoja le he aplico un autofiltro y obtengo un rango de las celdas.

Ok, utilizo este rango y lo leo así:

termino = Now
For each r in rango_filtro

Set rango_resultado = rango_de_una_hoja.Find _
(r.Value,,xlValue,xlWhole,xlByColumns)

If rango_resultado Is Nothing Then
......
End If
debug.print format (Now - termino, "hh:mm:ss")
Next

Claro que hago uso de Option Explicit y declaré todas las variables.

El problema es que a veces lee n cantidad de celdas y por cada una hay una disminución proporcional del tiempo en que lee,

O sea, que en un inicio lee 5 celdas por segundo y luego a medida que lee más, el tiempo disminuye y disminuye (4 por segundo, 3 por segundo, 2 por segundo, y así sucesivamente) llega incluso a leer una celda por cada 10 segundos.

Porque pasa esto?, me gustaría saber si debo descargar alguna pila o si existe una API que mejore esto, ya que el programa funciona bien el único inconveniente es la velocidad.


Nombre
Apellidos
Correo
Comentarios