Problemas con Screen Updating (Excel 2013)

Luego de desarrollar un proyecto (para mí) grande, donde extraigo información desde tres libros diferentes (dos ubicados en la red interna y uno en mi pc), y los muestro en un UserForm, se presenta el siguiente problema:

La consulta comienza al colorcar un código en el TextBox1 y Enter, allí va abriendo los libros uno por uno y trayendo la información hacia el formulario.

Como primera línea tengo application.screenupdating = False para luego, al finalizar, volver a True.

El proceso debería correr sin ser visto por el usuario, pero algunas cosas se pueden ver, por ejemplo, cuando abre los libros que están en alguna unidad de red, dice "Descargando: N:\Bases\Base.xlsm" en un cartel breve, pero se ve. Además, trae información con valor cero, que luego la quito dentro del código y se ve como completa los textbox con 0 y luego los borra, situación que, creo, no debería suceder.

Alguna explicación estimados Expertos??? (alcaro que hice varias pruebas, variando situaciones dentro del código, pero sin éxito, por eso recurro a ustedes)

Atte.

Carlos.

1 respuesta

Respuesta
1

Te anexo unos comentarios para ver si ayudan.

Después de abrir los libro anexa una línea con esta instrucción, para que la ejecución se realice de manera más inmediata.

DoEvents

Tal vez, antes de cargar la información en el textbox, pudieras validar si es 0 (cero), entonces que no la ponga en el textbox, por ejemplo

If Workbooks("otrolibro").Sheets("hoja1").Range("D15") <> 0 Then
    textbox1 = Workbooks("otrolibro").Sheets("hoja1").Range("D15")
End If

Estimado Dante, tus sugerencias hacen que funcione un poco mejor (más rápido) el desarrollo del procedimiento, pero, de todas formas, la duda es: 

No debería quedar la pantalla "freezada" y aparecer toda la información en el Formulario, luego del True de ScreenUpdating?

Es que va llenando visiblemente los TextBox (son 38) y ListBox (son 6), a medida que consulta los libros citados anteriormente.

Por otro lado, y en general, he notado que desde que tengo Office 2013, este proceso del screen updating no funciona del todo bien, como lo hacía en Office 97 (es el que tenía instalado antes, hace dos años).

Intenta lo siguiente:

'inicio de tú código

Userform1. Hide

'

'carga de información

'

userform1.show

'

Dante, tu sugerencia funciona muy bien y es más estético que lo que yo tengo hecho. De todos modos, hace que desaparezca el Formulario y vuelva a aparecer ya cargado. Lo que yo quisiera es que la pantalla quede congelada con el Formulario inmóvil y cuando la tarea esté concluida, aparezca completo, sin movimientos en la pantalla.

Si tienes algún otro truco, agradecido !!!!

Como ya te diste cuenta son problemas de la versión de excel.

Saludos. Dante Amor
Recuerda valorar la respuesta.

Tienes razón, Dante! Encontré que las ventanas que se abren reactivan la pantalla...

Entonces, para finalizar, tienes el teléfono celular de Bill? ja ja ja

Muchas gracias!!!

Carlos

Jajaja

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas