Guardar hora permanentemente

07/04/2008 - 11:55 por Qandeal | Informe spam
Saludos al grupo.

Necesito guardar la hora de un momento determinado y no hay forma de
conseguirlo, a ver si alguien me puede ayudar.

El tema es que necesito guardar en D48 la hora en el momento en que la
celda F12 este ocupada.

Si en D48 pongo esta formula:
=SI(ESBLANCO(F12);"";AHORA())

Me pone la hora correcta del momento en que F12 esta ocupado, pero si
despues de guardar el libro excel y al cabo de un rato lo vuelvo a
abrir, me actualiza la hora en D48, cuando lo que necesito es que en
D48 tiene que quedar grabada la hora en que se ocupo la celda F12.

Por otro lado si en D48 pongo esta otra formaula:
=SI(ESBLANCO(F12);"";SI(D48="";AHORA();D48))

Que pienso deberia de hacer lo que yo quiero, resulta que me da un
error de "referencia circular" y no pone la hora en D48
saludos,
Qandeal

Preguntas similare

Leer las respuestas

#11 Héctor Miguel
23/04/2008 - 14:11 | Informe spam
hola !

Bueno, el otro dia cuando comente que no ocurria nada en D48 cuando se ocupaba F12 cerre el libro sin guardarlo.



1) en cualquier version de excel (2007 incluida) las macros en un libro "nuevo" funcionan sin problemas
incluso sin guardarlo (a menos que los eventos estuvieran deshabilitados, el ejemplo tambien debiera funcionar) -?-

Hoy he vuelto a copiar/pegar tu codigo y como sigue sin ocurrir nada en D48
he decidido guardar el libro y me salta este aviso.
Las siguientes caracteriastas no se pueden guardar en libros sin macros
Proyecto de VB
Para guardar un archivo con estas caracteristicas, haga clic en No y, a continuacion
elija un tipo de archivo habilitado para macros en la lista Tipo de archivo
Para seguir guardando el archivo como libro sin macros, haga clic en Si.



2) para la version 2007, si a un libro "nuevo" le pones macros, al guardarlo deberas usar la opcion de (como dice el aviso):
guardarlos como (tipo de archivo) "Libro de excel habilitado para macros (*.XLAM)"
pero (insisto) mientras no guardes un libro "nuevo" con macros, las macros son "funcionales" ;)

saludos,
hector.

__ las consultas anteriores __
He copiado/pegado tu codigo en "ThisWorkbook", pero al ocupar la celda F12 no ocurre nada en D48, se queda en blanco.
Mi version de Excel es la 2007, por si esto pudiera ser la causa.



acabo de probar en 2007 sobre un libro de varias hojas, 3 de las cuales (como indicaste) se llaman: "CTD", "CTH" y "CTN"
cuando "se ocupa" la celda F12, se afecta (SOLO si esta vacia) la celda D48 (y solo de esas 3 hojas)

comentas (si hubiera) algun detalle "en el tintero" ?
saludos,
hector.

con los detalles conocidos hasta ahora, copia/pega las siguientes lineas:
=> en el modulo de codigo del libro (ThisWorkbook)

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Select Case LCase(Sh.Name)
Case "ctd", "cth", "ctn"
Case Else: Exit Sub
End Select
If IsEmpty(Target) Or Target.Address <> "$F$12" Then Exit Sub
If IsEmpty(Range("d48")) Then Range("d48") = Time
End Sub
Respuesta Responder a este mensaje
#12 Qandeal
24/04/2008 - 17:33 | Informe spam
Bueno pues estoy bastante perdido, porque este libro lo venimos
utilizando hace bastante tiempo, vaya, varios años, primero con Excel
2003 y actualmente con 2007 y siempre que le hacemos alguna
modificacion y lo guardamos, nunca nos habia saltado ese aviso, a sido
al incorporar ese codigo en VB, y confirmo que este libro que no tiene
ninguna macro.

Es mas cuando se decidio hace unas semanas que en D48 se tendria que
guardar la hora de inicio de cada competicion que es en el momento en
que se ocupa F12, hice bastantes pruebas con formulas, como creo que
comente en mi primer post, y guarde el libro bastantes veces sin
saltarme ese aviso.

En fin, lo dicho, que ahora estoy mas perdido que antes.

Y por descontado que ese codigo no me funciona, a no ser que haga algo
mal, pero me limito a copiar y pegar y luego para probar ocupo la
celda F12 y en D48 no pasa nada.

Por cierto no se si se ha entendido mal, pero no debe figuar la misma
hora en D48 de las tres hojas, ya que cada competicion se inicia a una
hora diferente y cada hoja corresponde a una competicion, es la hora
del momento en que se ocupa la celda F12 de cada hoja la que debe
quedar guardadqa para siempre en D48 de la hoja correspondiente.



On Wed, 23 Apr 2008 07:11:22 -0500, "Héctor Miguel"
wrote:

hola !

Bueno, el otro dia cuando comente que no ocurria nada en D48 cuando se ocupaba F12 cerre el libro sin guardarlo.



1) en cualquier version de excel (2007 incluida) las macros en un libro "nuevo" funcionan sin problemas
incluso sin guardarlo (a menos que los eventos estuvieran deshabilitados, el ejemplo tambien debiera funcionar) -?-

Hoy he vuelto a copiar/pegar tu codigo y como sigue sin ocurrir nada en D48
he decidido guardar el libro y me salta este aviso.
Las siguientes caracteriastas no se pueden guardar en libros sin macros
Proyecto de VB
Para guardar un archivo con estas caracteristicas, haga clic en No y, a continuacion
elija un tipo de archivo habilitado para macros en la lista Tipo de archivo
Para seguir guardando el archivo como libro sin macros, haga clic en Si.



2) para la version 2007, si a un libro "nuevo" le pones macros, al guardarlo deberas usar la opcion de (como dice el aviso):
guardarlos como (tipo de archivo) "Libro de excel habilitado para macros (*.XLAM)"
pero (insisto) mientras no guardes un libro "nuevo" con macros, las macros son "funcionales" ;)

saludos,
hector.

__ las consultas anteriores __
He copiado/pegado tu codigo en "ThisWorkbook", pero al ocupar la celda F12 no ocurre nada en D48, se queda en blanco.
Mi version de Excel es la 2007, por si esto pudiera ser la causa.



acabo de probar en 2007 sobre un libro de varias hojas, 3 de las cuales (como indicaste) se llaman: "CTD", "CTH" y "CTN"
cuando "se ocupa" la celda F12, se afecta (SOLO si esta vacia) la celda D48 (y solo de esas 3 hojas)

comentas (si hubiera) algun detalle "en el tintero" ?
saludos,
hector.

con los detalles conocidos hasta ahora, copia/pega las siguientes lineas:
=> en el modulo de codigo del libro (ThisWorkbook)

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Select Case LCase(Sh.Name)
Case "ctd", "cth", "ctn"
Case Else: Exit Sub
End Select
If IsEmpty(Target) Or Target.Address <> "$F$12" Then Exit Sub
If IsEmpty(Range("d48")) Then Range("d48") = Time
End Sub











saludos,
Qandeal
Respuesta Responder a este mensaje
#13 Héctor Miguel
24/04/2008 - 18:40 | Informe spam
hola, (...) ???

Bueno pues estoy bastante perdido, porque este libro lo venimos utilizando hace bastante tiempo
vaya, varios a#os, primero con Excel 2003 y actualmente con 2007
y siempre que le hacemos alguna modificacion y lo guardamos, nunca nos habia saltado ese aviso
a sido al incorporar ese codigo en VB, y confirmo que este libro que no tiene ninguna macro.
(...)
Y por descontado que ese codigo no me funciona, a no ser que haga algo mal
pero me limito a copiar y pegar y luego para probar ocupo la celda F12 y en D48 no pasa nada.



OJO: si a ese (mismo) archivo le incorporaste el codigo en VB... <= YA TIENE MACROS (entonces)...
si ya lo habias "convertido" a la version 2007 como libro "normal" (*.XLSX)
al "meterle" codigo/macros deberas hacer un "guardar como..." (libro habilitado para macros *.XLSM)

Por cierto no se si se ha entendido mal, pero no debe figuar la misma hora en D48 de las tres hojas
ya que cada competicion se inicia a una hora diferente y cada hoja corresponde a una competicion
es la hora del momento en que se ocupa la celda F12 de cada hoja la que debe quedar guardadqa para siempre
en D48 de la hoja correspondiente...



(precisamente) "asi" es como funciona (en las pruebas que realice)
y tal como te debera funcionar (a ti) cuando hagas el "guardar como..." (*.XLSM)

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