Fecha automática

Necesito saber si hay una manera de ligar dos celdas de manera que al introducir un dato en una en la otra me aparezca de forma automática la fecha del sistema, ¿o sino es posible de esa manera que alternativa recomiendas?

1 respuesta

Respuesta
1
No se si entendí exactamente que es lo que quieres.
Lo que yo haría es poner la fórmula:
=AHORA()
En la casilla donde quieres que aparezca la fecha (con el formato de celda que prefieras)
Luego, te vas al editor de VB (Alt+F11) y les das doble clic a la Hoja que están los datos (en la ventana Proyecto situada a la izquierda)
Finalmente escribes en la ventana grande de la derecha:
Private Sub Worksheet_Change(ByVal Target As Range)
Calculate
End Sub
Ahora cierra el editor de VB y prueba.
Si no es eso lo que querías o no te sale, dímelo y buscaremos otra solución.
Gracias, eso resuelve el problema de la fecha pero ahora surge otra interrogante.
Necesito saber si podemos limitar la forma en que se modifica la fecha a cada cuatro columnas y en una sola fila, ¿a qué me refiero? Al momento de introducir datos en cualquier celda la fecha se modifica, me gustaría que solo dependiera de la celda continua a la derecha y pienso implementarlo cada cuatro celdas en todas las filas, por ejemplo imagina que la primera columna tiene el nombre de un cliente y en la segunda necesito la fecha como la implementamos ya, en la tercera va el producto que compró, en la cuarta la cantidad y en la quinta el precio; estas ultimas cuatro celdas las repetiría a lo largo de la hoja en caso de que el mismo cliente siguiera adquiriendo productos y necesito que cada fecha se modifique de acuerdo a cada compra. Espero haber sido claro y de nuevo reitero mi agradecimiento por tu tiempo.
Si lo quieres para eso, no puedes utilizar el método "Calculate" que te dije, porque recalcula TODAS las fórmulas de la hoja, y a ti no te interesa (creo)
Entonces tendrás que hacerlo mirando la celda que se ha modificado y cambiando el valor de la celda de al lado.
Borra lo que te dije la ultima vez y prueba esto, a ver si funciona y entiendes como va:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 1 And Target.Column Mod 4 = 3 Then
Target.Offset(0, -1).Value = Now
End If
End Sub
He puesto la condición "Target.Row > 1" por si tienes títulos en la primera fila. Si no es así, quítalo (borra también el "And")
Muchísimas Gracias por tu ayuda, solo falta hacer algunas adecuaciones a la segunda condición para adaptarlo a mi hoja de calculo pero de todas maneras me funciona de maravilla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas