Foro de Ayuda Excel | ||
| Soluciona tus problemas con Excel |
|
#1
| |||
| |||
| Muy buenas a todos los miembros del foro. Mi problema es el siguiente. Tengo un archivo excel con distintas hojas, en las que continuamente (a diario) se están metiendo datos. En una de las hojas tengo asignado varias celdas con la fórmula hoy(), con la que consigo que cuando se cambie un dato de cualquier hoja del archivo, las celdas con dicha fórmula se actualicen a día de hoy. Lo que quiero que ocurra, es que se actualicen sólo en ciertas condiciones, por ejemplo cuando cambie el valor de una celda en concreto. No se si me he explicado correctamente. Si no es así, por favor decidmelo y lo intentaré explicar mejor. Un saludo y gracias |
|
#2
| |||
| |||
| Hola almada Quizás con una macro de evento, tal que Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Address = "$A$1" Then 'siendo A1 la celda que queremos que active el evento Range("C1") = Date 'celda en la que queremos que se registre la fecha Sheets("Hoja2").Range("D2") = Date 'celda en la que queremos que se registre la fecha End If End Sub La macro situada en la Hoja en la que esté la celda que activa el evento. Un saludo desde Vitoria |
|
#3
| |||
| |||
| Tambien lo puedes hacer un pequeño cambio a la primer linea de código sugerido por Ioyama así: Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) esto para que solo con tocar la celda A1 genere las fechas que requieres.
__________________ Cordial saludo a todos desde Pereira Colombia |
|
#4
| |||
| |||
| Ante todo, muchas gracias por vuestras rápidas respuestas. Aplicando la macro expuesta, y siendo la celda que origine el evento la "D58", la celda donde quiero que se aplique la fórmula la "F59" y la hoja en cuestión donde se encuentra todo, con nombre "Ejecución". He puesto sin conseguir lo que quiero lo siguiente: Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Address = "$D$58" Then Range("F59") = Date Sheets("Ejecución").Range("F59") = Date End If End Sub Donde puede estar el fallo? |
|
#5
| |||
| |||
| Almada yo veo bien el código como te recomendó Ioyama para que te funcione o ejecute la macro debes de cambiar el contenido de la celda D58 y tener cuidado que realmente exista una hoja llamada Ejecución puesto que alla se va a dirigir una vez colocado la fecha. Ahora si lo que quieres es que se ejecuto solo dando click en la celda D58 debes de cambiar la primer linea como te dije antes. Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Address = "$D$58" Then Range("F59") = Date End If End Sub
__________________ Cordial saludo a todos desde Pereira Colombia |
|
#6
| |||
| |||
| Bueno, pues gracias a los amigos ioyama y Luis Fernando, el problema queda resuelto. Como he visto por otros sitios que es, o por lo menos ha sido un problema que se ha planteado en otras ocasiones, subo un ejemplo de lo que yo quería hacer para que otros usuarios del foro lo puedan aprovechar. Un saludo a todos y nuevamente mil gracias por todo |
| Herramientas | |
| Desplegado | |
| |