fejoal , Por falta de tiempo para responder como me gusta hacerlo suspendo...
La solución trivial es una fórmula como la siguiente: =(AHORA()-L15)*(24*60*60) Supuesto que en la celda L15 hayas ingresado la fecha inicial (14/04/2003) Como sabrás es necesario que se calcule la hoja para que este valor se actualice. Eventualmente, podrías tener corriendo una macro que se ejecute cada tanto para que muestre el avance de los segundos, sin que tengas que hacerlo manualmente. --- Pero si quieres algo más elegante, puedes apelar a una aplicación de una rutina que coloca un reloj en pantalla y sobre la hora que muestra puedes aplicar una fórmula similar a la sugerida. La ventaja es que los segundos se actualizarán automáticamente, segundo a segundo (valga la rebuznancia ;) Afortunadamente, tal rutina ya está desarrollada. Acredito -como corresponde- a Sebastián Thomschke como el autor del código siguiente. Activa el editor de Visual Basic (presiona Alt+F11), inserta un nuevo módulo ("Insertar", "Módulo") y pega el siguiente código: ' ********************************************************************* ' Excel VBA Timer Example v1.00 ' Copyright ©2002 by Sebastian Thomschke, All Rights Reserved. ' http://www.sebthom.de '********************************************************************* ' If you like this code, please vote for it at Planet-Source-Code.com: ' http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=34409&lngWId=1 ' Thank you '********************************************************************* ' WARNING: ANY USE BY YOU IS AT YOUR OWN RISK. I provide this code ' "as is" without warranty of any kind, either express or implied, ' including but not limited to the implied warranties of ' merchantability and/or fitness for a particular purpose. '********************************************************************* ' You are free to use this code within your own applications, but you ' are expressly forbidden from selling or otherwise distributing this ' source code without prior written consent. ' ********************************************************************* Option Explicit Dim ClockCell As String Dim timer_enabled As Boolean Dim timer_interval As Double Sub cmd_TimerOn() ClockCell = "B8" ' celda donde mostrará el reloj Dim interval As Double interval = 1.15740740740741E-05 'start the timer with the specified interval Call timer_Start(interval) End Sub ' ********************************************************************* ' your code goes into this Makro ' ********************************************************************* Sub Timer() ' output the current time to cell ClockCell Range(ClockCell).Value = Format(CStr(Time), "hh:mm:ss") End Sub ' ********************************************************************* ' internal timer methods ' ********************************************************************* Sub timer_OnTimer() Call Timer If timer_enabled Then Call timer_Start End Sub Sub timer_Start(Optional ByVal interval As Double) If interval > 0 Then timer_interval = interval timer_enabled = True If timer_interval > 0 Then Application.OnTime (Now + timer_interval), "Timer_OnTimer" End Sub Sub timer_Stop() timer_enabled = False End Sub ---- Verás que le agregué una variable para que le indiques en qué celda quieres que se muestre el reloj (mi pequeño aporte a tan buen procedimiento) Desde luego, puedes indicar una celda no visible, supongamos en AZ3 Luego, donde quieres que se muestren los segundos, coloca esta fórmula: (HOY()+AZ3-L15)*(24*60*60) Y obtendrás el resultado deseado. En este momento, el contador que armé muestra: 11,227,738 11,227,739 11,227,740 11,227,741 ... ;)) Puedes agregarle un par de botones para iniciar y detener el reloj. Al primero asígnale la macro cmd_TimerOn(), mientras que al segundo asócialo a timer_Stop() --- Espero que esto cubra tus expectativas. Un abrazo! Fernando
el 21 ago. 03