Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SCREENUPDATING NO RESPONDE ???

670 views
Skip to first unread message

Orfao

unread,
Nov 20, 2009, 12:42:01 AM11/20/09
to
Hola Grupo !

Estoy trabajando con windows 7 y office 2003 y 2007.

En un libro donde tengo gran cantidad de formatos, controles, celdas
combinadas, etc. ademas de varias macros. De pronto comenzo a presentarse una
falla cuando ejecuto una macro.

Por ejemplo :
en una macro que me copia valores entre las hojas del libro,
activa/desactivo o hago visibles/ocultos varios controles y cambia a otras
hojas , yo comienzo con una instruccion application.screenupdating =False y
luego de todas las demas lineas de codigo finalizo con
application.screenupdating=True.

Con esto evito el parpaddeo y solo se actualiza/refresca la pantalla al
final de la macro. Pero .. no se a cuenta de que, de pronto, ahora aunque no
se ve el parpadeo me aparecen en pantalla trozos /pedazos de informacion de
otra hoja montados sobre la hoja activa y solo los elimino si ejecuto un
scroll o ejecuto un recalculo . estoy casi convencido que se trata de algun
conflicto con algunos complementos pero los he desinstalado y el problema
continua.

Como podria solucionar este problemita de la forma mas
facil/practica/rapida/segura ???
Tal vez problemas de memoria ? capacidad grafica / controlador de video ?

Por ciento, he notado que el complemento excel utilities 2.1 me genera un
conflico ton casi todos los libros que abro cuando trato de aplicar/modificar
el formato a aluguna celda. Sucede que se cierra excel / no responde / y se
reinicia con una recuperacion del archivo..
por que ?? como corregirlo /evitarlo .


Gracias..
--
Me alimento del conocimiento de todos

H�ctor Miguel

unread,
Nov 20, 2009, 12:59:37 AM11/20/09
to
hola, moises !

es un pelin dificil "imaginar" esto:
> ... un libro... gran cantidad de formatos, controles, celdas combinadas, etc. ademas de varias macros...

y esto:
> ... una macro... copia valores entre las hojas... activa/desactivo o hago visibles/ocultos varios controles... cambia a otras hojas...

y con respecto de esto:
> ... comienzo con una instruccion application.screenupdating =False y... finalizo con application.screenupdating=True.

te puedo decir que la instruccion "final" (screenupdating=true) NO es necesaria ya que se (re)activa "soita" al final de un procedimiento
a menos, que se trate de un procedimiento de evento (_beforeprint donde se muestra un formulario) o casos muy "especiales" ;)

con relacion a esta parte:
> ... de pronto, ahora aunque no se ve el parpadeo me aparecen en pantalla


> trozos /pedazos de informacion de otra hoja montados sobre la hoja activa

> y solo los elimino si ejecuto un scroll o ejecuto un recalculo...

(probablemente) en alguna parte tienes instrucciones que hacen (o intentan hacer) un "scroll" en una pantalla "congelada" (???)
por lo que para poder (intentar) responder (o proponer soluciones posibles) a esta pregunta:

> Como podria solucionar este problemita de la forma mas facil/practica/rapida/segura ???
> Tal vez problemas de memoria ? capacidad grafica / controlador de video ?

(como que) habria que conocer mas "detalles" de las instrucciones de las "varias macros" (???)

en cuanto a esta parte (final ?) de tu consulta:
> ... he notado que el complemento excel utilities 2.1 me genera un conflico ton casi todos los libros que abro


> cuando trato de aplicar/modificar el formato a aluguna celda.
> Sucede que se cierra excel / no responde / y se reinicia con una recuperacion del archivo..
> por que ?? como corregirlo /evitarlo .

(supongo que) necesitaras "reportarlo" en el sitio de su descarga (?)

saludos,
hector.


ORFAO

unread,
Nov 21, 2009, 2:14:02 PM11/21/09
to
Hola Hector !

He estado probando...
En una nueva particion vacia, instale windows7 y office 2003
pero... nada ! el problema continua.
probe en otros equipos con Xp sp3 y... Tampoco !
abri versiones anteriores del mismo libro que antes funcionaban
perfectamente y... Igual !
Siguen apareciendo trozos/pedazos/fragmentos de otras hojas del libro
sobre la que esta visible (activa en ese momento).

segui probando y ...Bingo !

Me percate que el problema se soluciona (aparentemente) si y solo si,
luego der abrir el libro, activo (hago visible) cada una de las hojas
del libro.
Esto me recuerda cuando programaba en Basic preinstalado en ROM en
una HP-85 .
En ese caso, el programa que yo diseñaba, debia compilarlo con una
instruccion (la cual no recuersdo) para de esa manera reservar memoria
para todas las variables usadas en el programa, y, aunque esto no era
requisito indispendable, si agilizaba sustancialmente la velocidad de
ejecucion de las diferentes rutinas. De no hacerlo asi, el programa se
dilataba mas la primera vez que se ejecutaba una instruccion, que las
veces subsiguientes.
aparentemente, porque ya estaban reservados los "espacios" de memoria
para las variables.

Tomando en cuenta lo anterior, abro mi libro y en el editor de vba
compilo el proyecto. Esto tampoco resuelve/soluciona el problema.
Tal vez lo que requiera sera una compilacion del excel mismo y de sus
complementos y/o referencias.

Por otro lado, he escaneado con Avast en algunos equipos y con
Kaspersky en otros y no aparece ningun "bicho".

El libro lo paso a diferentes equipos a traves de un pendrive el cual
tambien he escaneado.

En fin...El problema continua.

(probablemente) en alguna parte tienes instrucciones que hacen (o
intentan hacer) un "scroll" en una pantalla "congelada" (???)
por lo que para poder (intentar) responder (o proponer soluciones
posibles) a esta pregunta:

Miguel, aclarame algo please.
Congelado ?
Implica que scrren updating =False
o que tengo limitado el acceso con sclollarea ej:
VBAProject.Hoja23.ScrollArea = "A1:j58"

Si lo deseas te envio algunas instrucciones/rutinas/partes del
proyecto (el paquete completo es bastante pesado 20mb y engorroso/
complicado) para que le des un vistazo.

Si requieres de alguna informacion adicional para facilitar la
solucion al problema, hazmelo saber.

Gracias !

Saludos.


H�ctor Miguel

unread,
Nov 21, 2009, 3:14:53 PM11/21/09
to
hola, moises !

si detectas que mostrando primero todas las hojas (casi) se resuelve este detalle...
y lo puedes relacionar con el manejo/administracion/... de variables de una programacion "X"...
(probablemente) la situacion es provocada (precisamente) por la falta (o forma de administracion) de variables en tus codigos ?
que quizas (ab)usan de instrucciones del tipo <objeto>.Select (o .Activate) cuando NO es necesario (y menos indispensble) ?
(me explico): si tienes instrucciones estructuradas de esta forma:

<hoja>.activate
<rango>.select
selection.copy
<otra hoja>.activate
activesheet.paste
application.cutcopymode = false

1) requieres que las hojas esten visibles (o no las podras .activate)
2) el codigo sera mas lento (realmente esta "select"ionando los objetos)

en su lugar, podrias estructurar instrucciones de copiado +/- asi:

<hoja>.<rango>.copy destination:=<otra hoja>.<rango_base>

1) NO requiere que las hojas esten visibles
2) es mas rapida la ejecucion de las macros

(creo que) podrias iniciar por estos comentarios y (probablemente) descubrir "la instruccion" que causa las apariciones (?)

saludos,
hector.

__ OP __


> He estado probando...
> En una nueva particion vacia, instale windows7 y office 2003 pero... nada ! el problema continua.
> probe en otros equipos con Xp sp3 y... Tampoco !
> abri versiones anteriores del mismo libro que antes funcionaban perfectamente y... Igual !
> Siguen apareciendo trozos/pedazos/fragmentos de otras hojas del libro sobre la que esta visible (activa en ese momento).
>
> segui probando y ...Bingo !
>

> Me percate que el problema se soluciona (aparentemente) si y solo si luego der abrir el libro, activo (hago visible) cada una de las hojas del libro.


> Esto me recuerda cuando programaba en Basic preinstalado en ROM en una HP-85 .

> En ese caso, el programa que yo dise�aba, debia compilarlo con una instruccion (la cual no recuersdo)


> para de esa manera reservar memoria para todas las variables usadas en el programa, y

> aunque esto no era requisito indispendable, si agilizaba sustancialmente la velocidad de ejecucion de las diferentes rutinas.
> De no hacerlo asi, el programa se dilataba mas la primera vez que se ejecutaba una instruccion, que las veces subsiguientes.
> aparentemente, porque ya estaban reservados los "espacios" de memoria para las variables.
>
> Tomando en cuenta lo anterior, abro mi libro y en el editor de vba compilo el proyecto.
> Esto tampoco resuelve/soluciona el problema.
> Tal vez lo que requiera sera una compilacion del excel mismo y de sus complementos y/o referencias.
>
> Por otro lado, he escaneado con Avast en algunos equipos y con Kaspersky en otros y no aparece ningun "bicho".
>
> El libro lo paso a diferentes equipos a traves de un pendrive el cual tambien he escaneado.
>
> En fin...El problema continua.
>
> (probablemente) en alguna parte tienes instrucciones que hacen (o intentan hacer) un "scroll" en una pantalla "congelada" (???)
> por lo que para poder (intentar) responder (o proponer soluciones posibles) a esta pregunta:
>
> Miguel, aclarame algo please.
> Congelado ?
> Implica que scrren updating =False
> o que tengo limitado el acceso con sclollarea ej: VBAProject.Hoja23.ScrollArea = "A1:j58"
>
> Si lo deseas te envio algunas instrucciones/rutinas/partes del proyecto

> (el paquete completo es bastante pesado 20mb y engorroso/complicado) para que le des un vistazo.
>
> Si requieres de alguna informacion adicional para facilitar la solucion al problema, hazmelo saber...


Orfao

unread,
Nov 21, 2009, 4:41:02 PM11/21/09
to
Hola Hector !

En los procedimientos que empleo aplico tus recomendaciones a exepcion de
casos donde no lo puedo simplificar (creo) como por Ej:
si estoy en Hoja GENERAL1
y ejecuto la siguiente macro asignada a un commandbuttom


Sub macrototales()
Dim T As Variant
Dim X As Variant
Dim FI As Variant
Dim Y As Variant
Dim m As Variant
Dim M_M As Variant
Dim E As Variant
Dim E_M As Variant
Dim p As Variant
Dim P_M As Variant
Dim TT As Variant
Dim M1 As Variant
Dim n As Variant
Dim E1 As Variant
Dim P1 As Variant
T = VBAProject.Hoja1.Range("A1").Value
For X = 1 To T
FI = X * 15 - 13
'calcula el total de materiales
If Cells(FI, 16) Then
For Y = 1 To Cells(FI, 16)
Cells(FI + Y - 1, 19).Value = Cells(FI, 15) * Cells(FI + Y - 1, 8)
Next Y
End If
'calcula el total de equipos
If Cells(FI, 17) Then
For Y = 1 To Cells(FI, 17)
Cells(FI + Y - 1, 20).Value = Cells(FI, 15) * Cells(FI + Y - 1, 10)
* Cells(FI + Y - 1, 11)
Next Y
End If
'calcula el total de mano de obra
If Cells(FI, 18) Then
For Y = 1 To Cells(FI, 18)
Cells(FI + Y - 1, 21).Value = Cells(FI, 15) * Cells(FI + Y - 1, 13)
* Cells(FI + Y - 1, 14)
Next Y
End If
Next X
'-------------------------------------
m = Cells(2, 22).Value 'maximo valor del material
M_M = Cells(2, 23).Value
E = Cells(2, 24).Value
E_M = Cells(2, 25).Value
p = Cells(2, 26).Value
P_M = Cells(2, 27).Value
TT = Cells(1, 1) * 15
ReDim mmaterial(m)
ReDim eEQUIPO(E)
ReDim ppersonal(p)
For X = 1 To TT
M1 = Cells(X + 1, 7)
If Application.WorksheetFunction.IsNumber(M1) Then
mmaterial(M1) = mmaterial(M1) + Cells(X + 1, 19)
End If
Next
n = 2
For X = M_M To m
If mmaterial(X) > 0 Then
Cells(n, 30) = X
Cells(n, 31) = mmaterial(X)
n = n + 1
End If
Next
For X = 1 To TT
E1 = Cells(X + 1, 9)
If Application.WorksheetFunction.IsNumber(E1) Then
eEQUIPO(E1) = eEQUIPO(E1) + Cells(X + 1, 20)
End If
Next
n = 2
For X = E_M To E
If eEQUIPO(X) > 0 Then
Cells(n, 32) = X
Cells(n, 33) = eEQUIPO(X)
n = n + 1
End If
Next
For X = 1 To TT
P1 = Cells(X + 1, 12)
If Application.WorksheetFunction.IsNumber(P1) Then
ppersonal(P1) = ppersonal(P1) + Cells(X + 1, 21)
End If
Next
n = 2
For X = P_M To p
If ppersonal(X) > 0 Then
Cells(n, 34) = X
Cells(n, 35) = ppersonal(X)
n = n + 1
End If
Next

'prepara Materiales
VBAProject.Hoja7.Activate

X = Cells(1, 1) + 11
VBAProject.Hoja7.Range(Range(Cells(11, 1), Cells(X, 7)).Address).ClearContents
VBAProject.Hoja7.Range(Range("a10").Address).ClearContents
VBAProject.Hoja7.Range(Range("e10").Address).ClearContents
X = VBAProject.Hoja1.Range("aj1").Value
If X Then
VBAProject.Hoja7.Range("b10:g10").Copy
VBAProject.Hoja7.Range("b11:g" & Val(X + 9)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
VBAProject.Hoja1.Range("ad2:ad" & X + 1).Copy
VBAProject.Hoja7.Range("a10").Select
ActiveSheet.Paste
VBAProject.Hoja1.Range("ae2:ae" & X + 1).Copy
VBAProject.Hoja7.Range("e10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
End If
VBAProject.Hoja7.Range(Range("a10:a65536").Address).EntireRow.Hidden = False
VBAProject.Hoja7.Range(Range("a" & X + 10 &
":a65535").Address).EntireRow.Hidden = True

' sigue preparo personal. y ..preparo equipos (ambos grupo de instrucciones
similares e la enterior)

end sub


Disculpa Hector, pero, podrias ayudarme a simplificar/mejorar la parte de
copiado y pegado ??

se da tambien en otros casos de codigo donde uso varias celdas combinadas
(como casi siempre) y no veo otra forma de copiar / pegar

Las celdas combinadas !!! (mi eterno problema).

Pero.. como bien dirias tu: Retomando el hilo del asunto...
Antes no se producia el error con las mismas instrucciones / codigo
porque ahora si ?

Tal vez algun software/aplicacion/complemento que haya
instalado/desinstalado ??

Grracias.
Saludos, Moises.

H�ctor Miguel

unread,
Nov 21, 2009, 11:41:33 PM11/21/09
to
hola, moises ! (de atras, pa'lante)

__ 1 __


> Retomando el hilo del asunto...
> Antes no se producia el error con las mismas instrucciones / codigo porque ahora si ?

1) probablemente "antes", NO era/habia/... "lo mismo" que ahora ?

__ 2 __


> Tal vez algun software/aplicacion/complemento que haya instalado/desinstalado ??

2) no lo creo (???)

__ 3 __


> se da tambien en otros casos de codigo donde uso varias celdas combinadas
> (como casi siempre) y no veo otra forma de copiar / pegar
> Las celdas combinadas !!! (mi eterno problema).

3) celdas combinadas (tambien, "mi eterno problema"), esta es (desde mi opinion) su mejor descripcion:
__
(hasta donde se) el (ab)uso de las celdas combinadas resulta ser algo asi como:
=> "una astilla que no te deja permanecer comodamente sentado"
y para muchos de estos casos, es mejor "sacrificar vista"... por "funcionalidad" (?)
����
__ 4 __
> ... podrias ayudarme a simplificar/mejorar la parte de copiado y pegado ??

4) algunos ejemplos (sobre tu mismo codigo)...

probar cambiando de esto (OJO: no se cuanto pudiera "valer" (X + 9) ???):

VBAProject.Hoja7.Range("b10:g10").Copy
VBAProject.Hoja7.Range("b11:g" & Val(X + 9)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

por esto:

With Range("b10:g10")
.Autofill .Resize(Val(X + 9) - 10), xlFillDefault
' .Offset(1).Resize(Val(X + 9) - 9).ClearFormats
End With

5) (adicional)...
- me parece excesiva la "liga" de los "codename" (VBAProject.Hoja7) si ya trabajas sobre la "hoja activa" (?)
- demasiadas variables declaradas como tipo Variant (explicita o implicitamente)
consulta en la ayuda en linea los temas de las variables y sus tipos (p.e.)
- son memoria reservada que NO siempre es liberada "de inmediato"

saludos,
hector.

__ OP __

ORFAO

unread,
Nov 22, 2009, 8:49:52 AM11/22/09
to
Hola Hector !

Convencido de que se trataba de problemas con el propio Excel y/o con
complementos/referencias, segui probando...

y, luego de varias horas (no he dormido en 24 Hs) , se me ocurrio
abrir el "libro ptoblema" no haciendo doble click sobre el archivo
sino abriendo primero excel y luego el archivo. todo seguia
igual...pero luego abri el excel que tenia instalado en otro disco
donde el sistema operativo dejo de funcionar (windows 7,es decir que
no puedo abrir esa version ni siquiera a prueba de fallos porque no me
carga los controladores de cd ni mouse ni red ni usb), y la sorpresa
fue que al abrir el "libro problema" funciono perfectamente !!! sin
el problema de los trozos/pedazos de hojas.
Entonces, Vuelvo y pregunto,
Es probable que algun complemento este corrupto/infectado ??
los complementos y referencias para este caso se cargan del disco
donde tengo el sistema operativo corriendo o de donde abri el excel ?
porque en las propiedades de excel aparecen diferentes fechas de
creacion y de modificacion ?? acaso, no es un ejecutable el cual no
cambia la fecha de modificacion con el solo hecho de utilizarlo ?? o,
probablemente la fuente (de donde los instale) sea diferente ??

a partir de lo anterior, tal vez copiando el excel,complementos, etc
al disco actual podra resolver el problema ??

o quiza tambien tenga que ver con los registros/claves ,etc ??.cuales
utiliza las del disco actual o de donde abri excel ??

H�ctor Miguel

unread,
Nov 22, 2009, 5:28:43 PM11/22/09
to
hola, moises ! (solo de la parte al final de esta consulta)

>...pero luego abri el excel que tenia instalado en otro disco donde el sistema operativo dejo de funcionar...
> ... y la sorpresa fue que... "libro problema" funciono perfectamente !!! sin... los trozos/pedazos de hojas.


> Entonces, Vuelvo y pregunto,
> Es probable que algun complemento este corrupto/infectado ??

> los complementos y referencias... se cargan del disco donde tengo el sistema operativo corriendo o de donde abri el excel ?


> porque en las propiedades de excel aparecen diferentes fechas de creacion y de modificacion ??
> acaso, no es un ejecutable el cual no cambia la fecha de modificacion con el solo hecho de utilizarlo ??
> o, probablemente la fuente (de donde los instale) sea diferente ??
>
> a partir de lo anterior, tal vez copiando el excel,complementos, etc al disco actual podra resolver el problema ??
> o quiza tambien tenga que ver con los registros/claves ,etc ??.

> cuales utiliza las del disco actual o de donde abri excel ??

(hasta donde se, y por sentido comun..)

1) la instalacion de programas genera una combinacion de registros con las caracteristicas, opciones, ... para su funcionamiento
a) el contenido propio de la compilacion del programa (EXEcutable)
b) el registro de windows, donde se complementa con informacion de otras librerias relacionadas/instaladas/necesarias/...
c) la instalacion de actualizaciones (o parches) entre el programa (excel), el sistema operativo (windows) y el registro

2) (teoricamente) ejecutar una aplicacion "desde OTRA fuente de instalacion" (otra particion del disco u otro disco duro)
a) combina los factores con la informacion del "como" debe ser (o se espera) el funcionamiento del programa
b) (probablemente) el EXE-cutable- de una particion, tiene informacion distinta del EXE-cutable- de la particion "corriente"
c) la combinacion de informaciones dferentes (EXE <-> actualizaciones <-> registro) pudiera ser parte del problema (???)

convendria hacer esta consulta (o de la parte correspondiente) en los grupos de windows (?)

saludos,
hector.


ORFAO

unread,
Nov 22, 2009, 5:38:16 PM11/22/09
to
Hola Miguel !

Como continuacion del anterior mensaje,
Sigo investigando...

y,,, me meti (asustado) en el editor de registros de windows y
curioseando (y sin entender nada de nada) en HKEY-CLASSES_ROOT en
unas carpetyas excel. addin - shell - open - command aparece un
registro tipo REG_MULTI_SZ con estos datos: 1ugAVn-}f
(ZXfeAR6.jiEXCELFiles>!De@]Vz(r=f`1lfq`?R& /e
esto se encuentra en varias las de las carpetas excel en open,
mientras que en otras aparecen estos datos: vUpAVX!!!!!!!!!
MKKSkEXCELFiles>tW{~$4Q]c@II=l2xaTO5 /e

no se si esto sea normal o no, pero... a mi me late... que... no esta
nada bien.
estoy en lo cierto ??
que significa esto ??
que hace?, para que se usa?, para que sirve?, que pasa si lo
elimino ???

Gracias de antemano.
Saludos, Moises.

H�ctor Miguel

unread,
Nov 23, 2009, 12:43:34 AM11/23/09
to
hola, moises !

no creo que meterse (aun "asustado... y sin entender nada de nada") con el registro de windows
sea la mejor forma de entender el significado de cada caracter y su posicion en las claves registradas por las aplicaciones (?)
para esto, se requiere de "no dormir" (no solo por 24 horas, si no...) durante varios... "mesesillos" :))

revisa el mensaje que puse ~10 minutos antes que esta (re)consulta tuya ;)

saludos,
hector.

__ OP __


> Como continuacion del anterior mensaje, Sigo investigando...

> ... me meti (asustado) en el editor de registros de windows y curioseando (y sin entender nada de nada) ...
> (...)


> no se si esto sea normal o no, pero... a mi me late... que... no esta nada bien.
> estoy en lo cierto ??
> que significa esto ??
> que hace?

> para que se usa?
> para que sirve?

ORFAO

unread,
Nov 23, 2009, 7:35:24 PM11/23/09
to
Hola Hector !

Gracias por tu paciencia.

Como bien dices, seguire investigando a traves de otros foros "mas
apropiados".
De pronto ... el problema se soluciono actualizando office 2007 sobre
el 2003 y luego reinstale en paralelo el 2003. (uso los dos !).

Gracias, again.

Saludos, Moises.

0 new messages