Rangos recordados

06/04/2007 - 11:13 por Desastres | Informe spam
A los buenos días para las buenas gentes.

Vamos a ver si alguien mas se cree esto.
Hace algún tiempo vengo comprobando que Excel "recupera una versión anterior" del programilla que
estoy haciendo.
Con ello quiero decir que cuando lo abro, no presenta la ultima actualización, si no algún estadio
anterior."Algo así como si perdiera datos. Los últimos.

Hoy creo que lo he comprobado de nuevo.
Cuando se declara una variable por ejemplo: ImpºPPI , Excel recuerda no solo la variable, también su
morfología, de forma tal que si escribes impºppi, automáticamente te lo cambia por ImpºPPI.
Me lo acaba de hacer. Lo raro es que esta variable "ya no existe". Ayer existía pero la sustituí por
otras dos distintas borrandola.
Hoy la he escrito en las líneas de código, con minúsculas, con la intención de ir a crearla "
Declararla" , pero se ha modificado sola. He comprobado que no existe en toda la aplicación ,
¿Alguien me puede decir "donde está", dado que excell me la "recuerda".
Saludos
Des

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
10/04/2007 - 11:06 | Informe spam
hola, Des !

__ 1 __
... hay alguna cosa que no conozco.
[hasta donde se]... las variables... pueden ser 'implícita/explicita'/mente declaradas...


*** cal es la diferencia



1) [p.e.]
a) si acostumbras la declaracion inicial en todos tus modulos de: -> Option Explicit
-> deberas declarar primero toda variable ANTES de poder utilizarla [o recibiras errores en la ejecucion del codigo] :-((
b) si no es tu costumbre una declaracion 'explicita'...
-> puedes utilizar variables SIN haberlas declarado previamente [PERO, considera que asumen un tipo de datos Variant']
pros ? / contras ?
-> al declararlas previamente puedes establecer de que tipo seran, con lo que reduces espacio en memoria de las variables ;)
-> se previenen/evitan/... errores al [tratar de] usar variables 'confusas' o parecidas a las intencionalmente declaradas :))
-> al usar option explicit [probablemente] se estaran provocando errores [una de las causas del 'crecimiento' de los archivos] -(

__ 2 __
[teoricamente] si una variable no es de alcance 'global'... su vida 'termina' cuando se termina la ejecucion del codigo
** global = Public?, por lo que dices creo que no.
Me explicas, no he encontrado nada, que es una variable Global?



2) [p.e.]
a) una variable publica declarada en un modulo estandar puede ser re/usada/modificada/...
-> desde cualquier procedimiento de cualquier modulo
-> si el modulo NO tiene el 'privilegio' de Option Private Module la variable puede [incluso] ser usada en otros libros [previos requsitos]
-> las variables declaradas en un modulo de clase conservan su valor mientras exista una definicion de la clase [ThisWorkbook ?]
b) si existen variables 'publicas' del mismo nombre que otras declaradas 'a nivel procedimiento'...
la 'precedencia' de las variables va del orden: -> procedimiento -> modulo -> 'globales'

__ 3 __
seria conveniente/util/necesario/... si comentas el 'como cuando y donde' es que se genero 'desde sus inicios' la variable 'inmortal' :))
**
en una sesion se creo Public ImpºPPI as Range y se asigno set ImpºPPI=hAcr.cells(x,y) '
Guardo el trabajo Se cerro sesion (me fui a dormir )
Nueva sesion Se borra, quita o sustituye ImpºPPI por otras dos se declara y asigna
Public IdPºAcr as range
Public IdCºAcr as range
set IdPºPPI=hAcr.cells(x,y)
set IdCºPPI=hAcr.cells(x1,y1)
Guardo el trabajo se cierra sesion. Me voy de paseo.
Se abre sesion Cuando tecleo idcºacr, el sistema no me la reconoce como declarada.
Es decir no lo pasa a IdCºAcr.
Voy al procedimiento de declaraciones. No existe IdCºAcr no existe IdPºAcr,
existe ImpºAcr (la que se habia borrado)
Esta es la parte que menos entiendo y menos me gusta. Afortunadamente no pasa todos los dias.
A veces, cuando pasa, suele coincidir en que se han generado errores
algunos voluntarios (On Error Resume Next)
y/o menos voluntarios, (falta de declaracion de una variable, por ejemplo, en ejecucion de codigo paso a paso)...



3) [me temo que aqui]... solo puedo 'imaginar' -posibles- causas de la 'inmortlidad' de la variable 'borrada'
a) que se establezca [p.e.] al abrirse el libro [en el evento ':open' ?]
b) que se 'asuma' implicitamente declarada [el no uso de Option Explicit ?]
c) ???

-> por lo tocante a las variables 'nuevas' [pero] 'matadas' antes de ser usadas en la siguiente sesion...
a) algun evento _beforesave / _beforeclose que impida/evite/inhiba/... que se guarden los cambios del libro ?
[p.e. por la falta de alguna variable 'de permiso' para que los cambios sean aceptados] ?

comentas [si hubiera] algun otro evento/detalle/... incolucrado/s en la interaccion de tus codigos ?
saludos,
hector.
Respuesta Responder a este mensaje
#7 Desastres
10/04/2007 - 17:20 | Informe spam
Hola Hector. Gracias. Entre tus Lineas.
__ 1 __

1) [p.e.] a) si acostumbras la declaracion inicial en todos tus modulos de: -> Option Explicit. ->
deberas declarar primero toda variable ANTES de poder utilizarla [o recibiras errores en la
ejecucion del codigo] :-((

-** Tienes razón. Es el método que utilizo. (Me falta terminología)
__ 2 __
[teoricamente] si una variable no es de alcance 'global'... su vida 'termina' cuando se termina la


ejecucion del codigo
** global = Public?, por lo que dices creo que no.
Me explicas, no he encontrado nada, que es una variable Global?



2) [p.e.]
a) una variable publica declarada en un modulo estandar puede ser re/usada/modificada/...
-> desde cualquier procedimiento de cualquier modulo
-> si el modulo NO tiene el 'privilegio' de Option Private Module la variable puede [incluso]
ser usada en otros libros [previos requsitos]
-> las variables declaradas en un modulo de clase conservan su valor mientras exista una
definicion de la clase [ThisWorkbook ?]
*** aqui preguntaré en otro momento
b) si existen variables 'publicas' del mismo nombre que otras declaradas 'a nivel procedimiento'...
la 'precedencia' de las variables va del orden: -> procedimiento -> modulo -> 'globales'
******Sí lo entiendo. Mis declaraciones son casi todas publicas. y "procuro" no meter la pata y
poner el mismo nombre a dos con distintos objetivos

__ 3 __
seria conveniente/util/necesario/... si comentas el 'como cuando y donde' es que se genero 'desde


sus inicios' la variable 'inmortal' :))
**
en una sesion se creo Public ImpºPPI as Range y se asigno set ImpºPPI=hAcr.cells(x,y) '
Guardo el trabajo Se cerro sesion (me fui a dormir )
A veces, cuando pasa, suele coincidir en que se han generado errores
algunos voluntarios (On Error Resume Next)
y/o menos voluntarios, (falta de declaracion de una variable, por ejemplo, en ejecucion de codigo


paso a paso)...

3) [me temo que aqui]... solo puedo 'imaginar' -posibles- causas de la 'inmortlidad' de la variable
'borrada'
a) que se establezca [p.e.] al abrirse el libro [en el evento ':open' ?]
******NO
b) que se 'asuma' implicitamente declarada [el no uso de Option Explicit ?]
******No
c) ???
****** Casi seguro

-> por lo tocante a las variables 'nuevas' [pero] 'matadas' antes de ser usadas en la siguiente
sesion...
a) algun evento _beforesave / _beforeclose que impida/evite/inhiba/... que se guarden los
cambios del libro ?
[p.e. por la falta de alguna variable 'de permiso' para que los cambios sean aceptados] ?

****Creo recordar que en alguna ocasion cuando declaro una variable y la utilizo, si borro la
declaracion, pero persisto en su utilizacion, excel sigue "recordandola" y modificando su escritura
si se reutiliza y es incorrecta la escritura.
Eso me parece "bastante Normal". No así el que "reutilice una sesion anterior" anulando algunas
modificaciones

Saludos
Des

"Héctor Miguel" escribió en el mensaje
news:Oc2eJ%
hola, Des !

__ 1 __
> ... hay alguna cosa que no conozco.
>> [hasta donde se]... las variables... pueden ser 'implícita/explicita'/mente declaradas...
> *** cal es la diferencia

1) [p.e.]
a) si acostumbras la declaracion inicial en todos tus modulos de: -> Option Explicit
-> deberas declarar primero toda variable ANTES de poder utilizarla [o recibiras errores en la


ejecucion del codigo] :-((
b) si no es tu costumbre una declaracion 'explicita'...
-> puedes utilizar variables SIN haberlas declarado previamente [PERO, considera que asumen un


tipo de datos Variant']
pros ? / contras ?
-> al declararlas previamente puedes establecer de que tipo seran, con lo que reduces espacio


en memoria de las variables ;)
-> se previenen/evitan/... errores al [tratar de] usar variables 'confusas' o parecidas a las


intencionalmente declaradas :))
-> al usar option explicit [probablemente] se estaran provocando errores [una de las causas


del 'crecimiento' de los archivos] -(

__ 2 __
> [teoricamente] si una variable no es de alcance 'global'... su vida 'termina' cuando se termina


la ejecucion del codigo
> ** global = Public?, por lo que dices creo que no.
> Me explicas, no he encontrado nada, que es una variable Global?

2) [p.e.]
a) una variable publica declarada en un modulo estandar puede ser re/usada/modificada/...
-> desde cualquier procedimiento de cualquier modulo
-> si el modulo NO tiene el 'privilegio' de Option Private Module la variable puede [incluso]


ser usada en otros libros [previos requsitos]
-> las variables declaradas en un modulo de clase conservan su valor mientras exista una


definicion de la clase [ThisWorkbook ?]
b) si existen variables 'publicas' del mismo nombre que otras declaradas 'a nivel


procedimiento'...
la 'precedencia' de las variables va del orden: -> procedimiento -> modulo -> 'globales'

__ 3 __
> seria conveniente/util/necesario/... si comentas el 'como cuando y donde' es que se genero


'desde sus inicios' la variable 'inmortal' :))
> **
> en una sesion se creo Public ImpºPPI as Range y se asigno set ImpºPPI=hAcr.cells(x,y) '
> Guardo el trabajo Se cerro sesion (me fui a dormir )
> Nueva sesion Se borra, quita o sustituye ImpºPPI por otras dos se declara y asigna
> Public IdPºAcr as range
> Public IdCºAcr as range
> set IdPºPPI=hAcr.cells(x,y)
> set IdCºPPI=hAcr.cells(x1,y1)
> Guardo el trabajo se cierra sesion. Me voy de paseo.
> Se abre sesion Cuando tecleo idcºacr, el sistema no me la reconoce como declarada.
> Es decir no lo pasa a IdCºAcr.
> Voy al procedimiento de declaraciones. No existe IdCºAcr no existe IdPºAcr,
> existe ImpºAcr (la que se habia borrado)
> Esta es la parte que menos entiendo y menos me gusta. Afortunadamente no pasa todos los dias.
> A veces, cuando pasa, suele coincidir en que se han generado errores
> algunos voluntarios (On Error Resume Next)
> y/o menos voluntarios, (falta de declaracion de una variable, por ejemplo, en ejecucion de


codigo paso a paso)...

3) [me temo que aqui]... solo puedo 'imaginar' -posibles- causas de la 'inmortlidad' de la


variable 'borrada'
a) que se establezca [p.e.] al abrirse el libro [en el evento ':open' ?]
b) que se 'asuma' implicitamente declarada [el no uso de Option Explicit ?]
c) ???

-> por lo tocante a las variables 'nuevas' [pero] 'matadas' antes de ser usadas en la siguiente


sesion...
a) algun evento _beforesave / _beforeclose que impida/evite/inhiba/... que se guarden los


cambios del libro ?
[p.e. por la falta de alguna variable 'de permiso' para que los cambios sean aceptados] ?

comentas [si hubiera] algun otro evento/detalle/... incolucrado/s en la interaccion de tus codigos


?
saludos,
hector.


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