Fecha y Hora de celda Modificada

26/06/2007 - 17:37 por Age | Informe spam
Buenos días,

Tengo el siguiente macro que me estaba funcionando muy bien pero de repente
dejo de funcionar, lo generaron en una version de excel anteriora a las 2003
que estoy usando en estemomento.

Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Target.Parent.Range("A2:A10")) Is
Nothing Then Exit Sub

Application.EnableEvents = False
Target.Offset(, 1) = Now
Application.EnableEvents = True
End Sub


Pretendia poner en la celdas de la culumna b del rango a2:a10 la hora y la
fecha en que era modificada alguna celda de ese rango, es decir:

si metia algun dato en la celda A2 en B2 aparecia la fecha y hora en que
habia introducido el dato. pero derepente dejo de funcionar.

alguien podria ayudarme a ver por que paso esto o que me den algun otro
macro para hacer lo que hacia antes con este macro.

Gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
26/06/2007 - 19:48 | Informe spam
hola, (...) ?

... el siguiente macro que me estaba funcionando muy bien pero de repente dejo de funcionar
lo generaron en una version de excel anteriora a las 2003 que estoy usando en estemomento.
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Target.Parent.Range("A2:A10")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Target.Offset(, 1) = Now
Application.EnableEvents = True
End Sub
[...]



[probablemente] en algun momento y/o por alguna causa/razon/circunstancia
el procedimiento encontro un error en su ejecucion y dejo *suspendidos* los eventos -?-
[tampoco se requiere des/re/habilitarlos si ya estas condicionando el rango de aplicacion]

prueba con la siguiente version:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a2:a10")) Is Nothing _
Then Target.Offset(, 1) = Now
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Age
26/06/2007 - 20:57 | Informe spam
Gracias Héctor Miguel, solo una duda,

para que sirve:

Then target.Offset.(,1) = Now

Ya que si inserto una linea me dice que hay un error en ese comando. y Como
lo puedo remediar.

"Héctor Miguel" escribió:

hola, (...) ?

> ... el siguiente macro que me estaba funcionando muy bien pero de repente dejo de funcionar
> lo generaron en una version de excel anteriora a las 2003 que estoy usando en estemomento.
> Private Sub Worksheet_Change(ByVal Target As Range)
> If Application.Intersect(Target, Target.Parent.Range("A2:A10")) Is Nothing Then Exit Sub
> Application.EnableEvents = False
> Target.Offset(, 1) = Now
> Application.EnableEvents = True
> End Sub
> [...]

[probablemente] en algun momento y/o por alguna causa/razon/circunstancia
el procedimiento encontro un error en su ejecucion y dejo *suspendidos* los eventos -?-
[tampoco se requiere des/re/habilitarlos si ya estas condicionando el rango de aplicacion]

prueba con la siguiente version:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a2:a10")) Is Nothing _
Then Target.Offset(, 1) = Now
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
26/06/2007 - 21:05 | Informe spam
hola, (...) ?

... solo una duda, para que sirve:
Then target.Offset.(,1) = Now
Ya que si inserto una linea me dice que hay un error en ese comando. y Como lo puedo remediar.



la prupuesta [originalmente] *IBA* a ser la siguiente:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a2:a10")) Is Nothing Then Target.Offset(, 1) = Now
End Sub

solo que al ver que tu mensaje *corta* lineas despues de x_numero de caracteres
preferi enviarte la propuesta *ajustada* a menos caracteres por linea
aprovechando el caracter de *salto de linea* [para vba] que es un espacio seguido de un guion_bajo
lo que le sigifica [a vba] que *la siguiente* linea debe ser considerada como parte de la anterior :))

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a2:a10")) Is Nothing _
Then Target.Offset(, 1) = Now
End Sub

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida