Jump to content
  • Debido a la crisis sanitaria, hasta el día 31 de marzo, el registro al foro de Ayuda Excel será totalmente gratuito para facilitar el teletrabajo. Todos los registros que se produzcan entre estas fechas tendrán acceso gratuito ilimitado a la comunidad hasta el 30 de abril.

    Regístrate

    Si te surge alguna duda mientras estás trabajando en casa con Excel, ya tienes a quien preguntar.

    Espero que esta medida te sirva de ayuda. Frenar la expansión del coronavirus depende de todos. Sé responsable.

Sign in to follow this  
Visor

Comportamiento de userform lento

Recommended Posts

Estimados amigos del foro, otra vez con un formulario que me muestra problemas. resulta que tengo un formulario que lo uso para cargar informacion sea de la hoja 1 ó de la hoja2. Resulta que cuando cargo el formulario (contiene listbox) con los datos de la hoja2, este aparece inmediatamente con los datos, mientras que, cuando hago lo mismo para la hoja1 el formulario se comporta muy lento. En el archivo que subo como ejemplo la reacción del userf lento, es un poco mas rápido, pero en el original donde tengo 8 formularios mas y 5 hojas mas se comporta muchísimo mas lento (10 veces mas lento o casi 2 minutos).

Agradezco mucho sus observaciones y sugerencias para solucionar este comportamiento.

Userform Lento solo en hoja1.rar

Share this post


Link to post
Share on other sites

Claro comprendo, pero como se explica que solo ocurre la lentitud (exagerada en mi archivo original) con los datos de la hoja1?? pues es el mismo userform.

He completado las filas de la Hoja2 con el mismo numero de datos de la hoja1 y el comportamiento no cambia

Share this post


Link to post
Share on other sites

Hola Visor,

la aplicación que te indica Diego se coloca así :

Sub TuSubrutina ()
application.screenupdate=False
TU CODIGO
application.screenupdate=True
End Sub[/CODE]

Mucha Suerte

Saludos !!!

Share this post


Link to post
Share on other sites

Hola Visor,

Pues no se si sea tu máquina pero ejecute los proceso y no se muestran lentos, aún sin la propuesta de [uSER=163374]@Diego9019[/uSER] ...

Y el código lo deberás de poner donde al ejecutar el proceso se hace lento

Saludos !!!

Share this post


Link to post
Share on other sites

Cuando hago click en el boton Enviar del userform1 para cargar el UFOfiEnvRec , es lento, cuando aparece esta todo blanco, aqui otra vez se demora y luueeego aparece el listbox con los datos, Todo esto, con la hoja 1 ....pero con la hoja 2 es flash!!

Share this post


Link to post
Share on other sites

Gracias bigpetroman, buena observación, es cierto he encontrado todos esos botones en la parte derecha de la hoja!!, parece ser que la macro copia también el botón de la hoja y lo va pegando en ese lugar. He borrado todos esos botones copias pegados, el botón de abrir el formulario lo he colocado en la ultima columna "[Respuesta]" de color amarillo, pues este lugar esta fuera de la influencia de la macro. He probado nuevamente en mi archivo original, el botón ya no se acumula por copias pero continua lenta la reacción.

Alguna otra sugerencia

Share this post


Link to post
Share on other sites
Gracias bigpetroman, buena observación, es cierto he encontrado todos esos botones en la parte derecha de la hoja!!, parece ser que la macro copia también el botón de la hoja y lo va pegando en ese lugar. He borrado todos esos botones copias pegados, el botón de abrir el formulario lo he colocado en la ultima columna "[Respuesta]" de color amarillo, pues este lugar esta fuera de la influencia de la macro. He probado nuevamente en mi archivo original, el botón ya no se acumula por copias pero continua lenta la reacción.

Alguna otra sugerencia

amigo, yo le quite los botones y funciono de igual de rapido que con la otra hoja, posiblemente tu archivo original tenga otras condiciones que son las que hacen lento el proceso, lo único que puedo sugerirte (ya que no tenemos el archivo completo para verificar) es que utilices estos comandos

Application.EnableEvents = False

Application.Calculation = xlCalculationManual

los colocas justo antes de llamar a la carga de formulario

y luego de finalizar la carga y mostrar el formulario, colocas estos

Application.EnableEvents = True

Application.Calculation = xlCalculationAutomatic

suerte

Share this post


Link to post
Share on other sites

Gracias mejoro algo pero no se compara con la reaccion al abrir para la hoja2

lo puse aquí, es pero haber comprendido bien:

Private Sub CargarKey()
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
K.RowSource = ActiveSheet.Name & "!A3:A" & ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End Sub[/CODE]

Share this post


Link to post
Share on other sites

amigo, dije CUANDO LLAMAS A LA CARGA DEL FORMULARIO, eso no es la carga del formulario, deberia ser aqui

Private Sub CommandButton1_Click()
Sheets("BD_OFICIOSE").Select
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Load UFOfiEnvRec
UFOfiEnvRec.Show
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End Sub[/CODE]

y lo repito, no se si funcione o no, solamente estoy adivinando ya que no tenemos el archivo completo, en el archivo que subiste funciona perfecto sin agregar nada mas, simplemente borrando los botones que indique anteriormente

Share this post


Link to post
Share on other sites

He corregido según me has explicado, sigue habiendo lentitud.

no tenemos el archivo completo, en el archivo que subiste funciona perfecto

El archivo que he subido tiene todo lo concerniente a ese userform y las hojas del excel son las mismas que tengo en mi archivo completo de mi computador lo demás son otros userform que no están asociadas

Entonces ha se ser cuestión de maquina. Aunque ese userform me ha estado dando problemas desde que lo tome para adaptarlo como lo ves ahora.

Share this post


Link to post
Share on other sites

amigo, una ultima sugerencia, anexa una nueva hoja, copia los datos de las columnas A:AB

de la hoja BD_OFICIOSE y los pega en la nueva hoja, acomodas las referencia de rango Criterios, luego eliminas la hoja BD_OFICIOSE y le colocas el mismo nombre a la hoja nueva, y pruebas a ver.

suerte

Share this post


Link to post
Share on other sites

si!! ahora si es mas rapida. ayer lleve el archivo a otro computador y aunque era mas rápido que en el mio tenia sus pequeña diferencia esa pequeña diferencia casi como que no se nota ahora con el cambio de hoja solo disculpame lo de :

acomodas las referencia de rango Criterios

no lo tengo claro a que te refieres donde encuentro los criterio, son las referencias del menú herramientas del VB??

Supongo que afinando esto sera aun mas rápido.

Te muestro un video comparativo según se comportaba en el otro computador que ahora esta casi igual de mejorado con el cambio dado.

https://app.box.com/s/88hgjt3ejc332md2wla808khhonkrilo

Share this post


Link to post
Share on other sites

en la pestaña formulas, alli tienes administrar nombres, en el cuadro que aparece tienes un nombre que dice CRITERIOS, ese nombre hace referencia a la hoja BD_OFICIOSE, cuando la eliminas se pierde la referencia, eso es lo que debes acomodar.

sin embargo es posible que esa referencia se cree sola cuando haces un filtro avanzado, si no te dio problemas a ejecutar tu archivo no le pares, no tendras problema.

me alegra que al final mejorara todo, recuerda que nunca está de mas un ME GUSTA, suerte

Share this post


Link to post
Share on other sites

Gracias bigpetroman, con esto ya comprendí, y se ha resuelto mi problema, espero que no se vuelva a presentar, que seguro no sera asi.

Le daré Me Gusta, a todos los mensajes enviados por ti, pues todos ellos contribuyeron a dar solución a este tema

Tema solucionado!!!

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  



×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png