¿Cómo puedo registrar la hora a la que se inserta un dato en una celda de una hoja de excel?

Buenas tardes expertos,
Mi problema es este: Tengo una hoja excel donde necesito que al incluir un valor en una celda se registre la hora y así sucesivamente en un rango de celdas. Lo que requiero es que cada vez que coloque un valor se registre la hora a la par, pero el problema es que al hacer otro registro en otra celda diferente se actualizan las anteriores. ¿Existe alguna forma de resolver esto? Por cierto leí previamente otras consultas similares pero francamente no entendí, usaban el VB pero no era muy clara la selección de los rangos ni la ubicación de las horas. De antemano muchas gracias.

1 respuesta

Respuesta
1
Seguramente se actualizan las demás por que se esta incluyendo una función como =ahora(), esto cambiara cada vez que abras el libro por ejemplo.
Si se desea que no se modifiquen los valores ya editados ( horas) deberían pasarse como cadenas de caracteres (texto) y no como función
Prueba este ejemplo:
Desde la hoja de excel que vas a utilizar, persiona teclas ALT + F11
Se abrirá el editor de visual basic
En el editor que se abrió, dale doble click a la hoja en cuestión, Hoja1 hoja2 etc.
Se te abrirá una nueva ventana en el editor ( en Blanco) allí pega esto:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
Cells(Target.Row, 2) = Time
End Sub
Esto hace lo siguiente:
Cada vez que editas una celda de la columna A te pasa la hora a la columna B en la misma fila de la celda que ya editaste
Obviamente si vuelves a editar una misma celda se actualizara la hora, pero si cierras y abres el libro veras que los valores se mantienen.
la linea If Target.Column <> 1 Then Exit Sub
Fuerza a que si editas cualquier otra columna que no sea la 1 ( Columna A) salga del sub ( no ejecute el macro). Esto es necesario para que el macro no se ejecute por cualquier modificación que hagas en la hoja y solamente se "active" en función de las modificaciones de A.
Espero hacerme entender.
Prueba el script, juega con el ... el mejo método de aprendizaje es el ensayo y el error.
Bye

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas