Necesito una ayuda con respecto a la ejecución automática de una macro. Lo
que necesito es:
Al estar trabajando en un libro en específico, necesito documentar en la
columna D la fecha y la hora exacta en la que se ingresó un dato en la
columna C.
Por lo tanto en el momento en que digite cualquier valor en la celda "C5",
necesito que quede registrada la hora exacta de esa modificación en la celda
"D5" y así con toda la columna.
Lo que pretendo es que la macro se active si y sólo si, hay algún cambio en
una celda de la columna C.
Gracias por su ayuda
Andrés O.
> Al estar trabajando en un libro en especifico, necesito documentar en la columna D
> la fecha y la hora exacta en la que se ingreso un dato en la columna C.
> Por lo tanto en el momento en que digite cualquier valor en la celda "C5" necesito
> que quede registrada la hora exacta de esa modificacion en la celda "D5" y asi con toda la columna.
> Lo que pretendo es que la macro se active si y solo si, hay algun cambio en una celda de la columna C.
(pregunta): si la columna D ya tiene su dato (fecha y hora) de algun ingreso en su fila en la columna C
y se modifica (de nuevo o constantemente) el dato de la columna C... que esperas que contenga la columna D ?
- el primer dato (fecha y hora) de la primer entrada en la columna C ?
- el dato (fecha y hora) de la modificacion mas reciente en la columna C ?
- o necesitas un registro consecutivo por cada modificacion en la columna C ?
- o... que pasa si se borra el dato que contenga la columna C ?
(si tienes contemplada otra serie de -posibles- "eventualidades", aprovecha para comentarlas) ;)
saludos,
hector.
Muchas gracias por tu colaboración. La idea es que siempre que se haga un
cambio en la columna C se actualice la fecha y hora en la columna D. El
programa que tenemos no permitiría que se escribiera nuevamente un dato, pero
en caso que se presentara la posibilidad, lo que debe hacer la macro es
entender que hubo un cambio en la columna C y por lo tanto, actualizar la
fecha en la columna D.
Saludos
"Héctor Miguel" escribió:
> La idea es que siempre que se haga un cambio en la columna C se actualice la fecha y hora en la columna D.
> El programa que tenemos no permitiria que se escribiera nuevamente un dato, pero en caso que se presentara la posibilidad
> lo que debe hacer la macro es entender que hubo un cambio en la columna C y por lo tanto, actualizar la fecha en la columna D.
1) haz un clic-secundario (generalmente clic-derecho) sobre la etiqueta con el nombre de "esa" hoja y selecciona: "ver codigo..."
2) en el modulo de codigo (ya en el editor de vba) copia/pega las siguientes instrucciones:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Then Target.Offset(, 1) = Now
End Sub
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
__ posts anteriores __
Public Function FechaSi( _
Optional Condicion As Variant = "", _
Optional SiCumple As Variant = "", _
Optional SiNoCumple As Variant = "", _
Optional Formato As String = "dd/mmm/yy" _
) As Variant
If Condicion = "" Or Condicion = True Then
If SiCumple = "" Then
SiCumple = Format(Now, Formato)
ElseIf IsDate(SiCumple) Then
SiCumple = Format(CLng(CDate(SiCumple)), Formato)
End If
FechaSi = SiCumple
Else
If IsDate(SiNoCumple) Then SiNoCumple = _
Format(CLng(CDate(SiNoCumple)), Formato)
FechaSi = SiNoCumple
End If
End Function
Saludos
"Héctor Miguel" <NOhemio...@PLShotmail.com> escribió en el mensaje de
noticias:euFeYtNr...@TK2MSFTNGP06.phx.gbl...