Referenciar objetos sin activar hoja

23/12/2003 - 16:13 por Adriano DAmbra | Informe spam
Hola a todos, a todos los que programan en VBA Excel les debe haber pasado
que para acceder a un determinado rango o celda de una hoja, dicha hoja debe
estar activa. Esto es muy incómodo, ya que cuando uno desarrolla un código
extenson con muchos pasos, las pantallas titilan de manera insoportable para
la vista, y esto depende de la velocidad del procesador.
Yo solucioné precariamente este problema mostrando un UserForm de pantalla
completa y un HourGlass de puntero para que el usuario espere y no se maree
durante el proceso.
Según lo dicho.
¿Alguno de ustedes pudo referenciar a una celda desde otra hoja sin
activarla?

Saludos y Felices Fiestas.

Preguntas similare

Leer las respuestas

#6 Adriano DAmbra
23/12/2003 - 21:02 | Informe spam
Fernando, me haz alegrado el día. Fantástica la instrucción de no hacer el
Update de la pantalla hasta finalizar. Las macros obviamente se ejecutan
años luz más rápidamente. No la conocía.
Hoy la probé en un código que hago cambios como en 10 hojas a la vez, hago
chequeos de todo tipo, utilizo estructuras de datos y funciones con listas
de hojas ocultas y la macro se ejecutó en milisegundos. Cuando antes tardaba
casi un minuto. Claro, todo esto era porque tenía que ir mostrando todos los
cambios y la placa de video moría.

Saludos y muchas gracias.

Analista Informático Adriano D'Ambra
Coord. de Capacitación Informática
Universidad FASTA



"Fernando Arroyo" escribió en el mensaje
news:
Usando VBA, normalmente _no_ es necesario seleccionar la hoja con cuyas
celdas se quiere trabajar ni que dicha hoja sea la activa. Lo que sucede es
que si el código lo ha generado el grabador de macros, dicho código será
casi siempre muy ineficiente y se podrá mejorar mucho, pero sin ver el
código es difícil que podamos decirte algo en concreto.

Sobre lo del parpadeo, es posible evitarlo poniendo

Application.ScreenUpdating = False

al principio del sub, y

Application.ScreenUpdating = True

al final, pero esto muchas veces no es necesario si el código no anda
cambiando la selección de hojas y/o rangos.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Adriano D'Ambra" escribió en el mensaje
news:
Hola a todos, a todos los que programan en VBA Excel les debe haber pasado
que para acceder a un determinado rango o celda de una hoja, dicha hoja


debe
estar activa. Esto es muy incómodo, ya que cuando uno desarrolla un código
extenson con muchos pasos, las pantallas titilan de manera insoportable


para
la vista, y esto depende de la velocidad del procesador.
Yo solucioné precariamente este problema mostrando un UserForm de pantalla
completa y un HourGlass de puntero para que el usuario espere y no se


maree
durante el proceso.
Según lo dicho.
¿Alguno de ustedes pudo referenciar a una celda desde otra hoja sin
activarla?

Saludos y Felices Fiestas.


Respuesta Responder a este mensaje
#7 Fernando Arroyo
23/12/2003 - 21:43 | Informe spam
"Adriano D'Ambra" escribió en el mensaje news:%23G0Wy%
Fernando, me haz alegrado el día. Fantástica la instrucción de no hacer el
Update de la pantalla hasta finalizar. Las macros obviamente se ejecutan
años luz más rápidamente. No la conocía.
Hoy la probé en un código que hago cambios como en 10 hojas a la vez, hago
chequeos de todo tipo, utilizo estructuras de datos y funciones con listas
de hojas ocultas y la macro se ejecutó en milisegundos. Cuando antes tardaba
casi un minuto. Claro, todo esto era porque tenía que ir mostrando todos los
cambios y la placa de video moría.

Saludos y muchas gracias.

Analista Informático Adriano D'Ambra
Coord. de Capacitación Informática
Universidad FASTA






Me alegra que te haya sido de utilidad :-)
Un saludo.


Fernando
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida