Ingreso de fecha automática que no se actualice

¿Cómo debo hacer para que en una celda (C5) ingrese algún dato y en otra (D5) me aparezca la hora en la cual ingrese el dato en la primera celda? (Sin tener yo que ingresarla)
- Hice el intento y funcionó, pero, cuando ingresé el 2º dato (C6) la hora en la celda (D5) se actualizó y quedo lo mismo que en la nueva celda (D6).
=Si(C5<>"";ahora();"")
Sea para Excel 2003 o 2007

1 respuesta

Respuesta
1
Como lo haces es correcto pero lo que pasa es que esa función se actualiza constantemente lo que a veces puede ser un fastidio :-)
Quizás podrías añadir una condición más.
Si ( and(c5<>"";d6<>);ahora();"") de forma que solo se active cuando las dos estan en blanco.
A ver si te va bien y si no me lo dices.
stimado mrtool, ¿cómo debo hacer para que en una celda (C5) ingrese algún dato y en otra (D5) me aparezca la hora en la cual ingrese el dato en la primera celda? (Sin tener yo que ingresarla).
- Hice el intento y funcionó, pero, cuando ingresé el 2º dato (C6) la hora en la celda (D5) se actualizó y quedo lo mismo que en la nueva celda (D6).
=Si(C5<>"";ahora();"")
Sea para Excel 2003 o 2007
Muchas gracias por su paciencia.
Muchas gracias por el intento, pero, no funcionó.
Cuando ingresé la información de la segunda persona se actualizó a la segunda entrada.
Sería posible solucionar esto con alguna macro. (Supongo como que instalara la hora y después pegado especia valores), lo que ocurre es que es la asistencia de aproximadamente 1500 jóvenes.
Si no es posible me avisar y finalizamos la pregunta.
Muchas gracias por tu tiempo
La verdad que no en que estaba pensando cuando te di esa solución, es incorrecta :-(.
Pon estas lineas en el evento SelectionChange en la worksheet que quieras controlar:
on local error resume next ' esto es para evitar problemas cuando seleccionamos toda la columna, etc..
'Cambiar el 2 por el nº de columna que queramos actualizar
If (Me.Cells(Target.Row - 1, 2)) = "" And Me.Cells(Target.Row - 1, Target.Column) <> "" Then
    Me.Cells(Target.Row - 1, 2) = Now()
End If
Esto te debería valer, luego se pueden añadfir más condiciones para controlar ciertas cosas.
El código NO actualiza la fecha si cambias el valor, ya en función de como lo quieras ir evolucionando me comentas.
Fantástico funciona muy bien, ahora tengo las siguoentes dudas:
- Como indico el tipo de formato que quiero de la hora (h:mm).
- Quiero que se active solo cuando la celda contenga números no texto.
- Y si lo necesito en columnas saltadas como se debe hacer.
1.- ¿Se repite la instrucción de las celdas varias veces?
If (Me.Cells(Target.Row - 1, 2)) = "" And Me.Cells(Target.Row - 1, Target.Column) <> "" Then
    Me.Cells(Target.Row - 1, 2) = Now()
If (Me.Cells(Target.Row - 1, 2)) = "" And Me.Cells(Target.Row - 1, Target.Column) <> "" Then    Me.Cells(Target.Row - 1, 2) = Now()
If (Me.Cells(Target.Row - 7, 8)) = "" And Me.Cells(Target.Row - 1, Target.Column) <> "" Then
    Me.Cells(Target.Row - 7, 8) = Now()
If (Me.Cells(Target.Row - 7, 8)) = "" And Me.Cells(Target.Row - 1, Target.Column) <> "" Then    Me.Cells(Target.Row - 7, 8) = Now()
2.- O donde va el 1,2 le indico 1, 2, 5, 6, 15, 16) 
Muchas gracias.
Corrijo la pregunta anterior
Fantástico funciona muy bien, ahora tengo las siguientes dudas:
- Como indico el tipo de formato que quiero de la hora (h:mm).
- Quiero que se active solo cuando la celda contenga números no texto.
- Y si lo necesito en columnas saltadas como se debe hacer.
1.- ¿Se repite la instrucción de las celdas varias veces?
If (Me.Cells(Target.Row - 1, 2)) = "" And Me.Cells(Target.Row - 1, Target.Column) <> "" Then 
    Me.Cells(Target.Row - 1, 2) = Now() 
If (Me.Cells(Target.Row - 5, 6)) = "" And Me.Cells(Target.Row - 1, Target.Column) <> "" Then    Me.Cells(Target.Row - 1, 2) = Now()
If (Me.Cells(Target.Row - 9, 10)) = "" And Me.Cells(Target.Row - 1, Target.Column) <> "" Then 
    Me.Cells(Target.Row - 9, 10) = Now() 
2.- O donde va el 1,2 le indico 1, 2, 5, 6, 15, 16)  
Muchas gracias.
Vamos por partes.
El formato lo fijas directamente en la hoja excel como a cualquier otra celda. Si quieres selecciona la columna completa.
- Para que se active solo con números incluye un if al principio de todo.
if isnumber(target.cells(1,1)) then .... y que haga todo.
El tema de las columnas alternas va igual. En Target. Row-1 y target. Column tienes siempre la fila/columna de la celda que has actualizado ( independientemente de donde esté ubicada) por lo que si quieres actualizar 2 columnas a la vez o alternas simplemente sumas o restas a la posición que quieras escribir.
Lo mejor si tienes dudas es que hagas varias pruebas para ver el efecto, no es complicado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas