fejoal , Por falta de tiempo para responder como me gusta hacerlo suspendo...
Para lo que solicitas, puedes apelar a una aplicación de una rutina que coloca un reloj en una celda a elección. 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 (ClockCell) para que le indiques en qué celda quieres que se muestre el reloj (mi pequeño aporte a tan buen procedimiento) Finalmente, para que la macro se ejecute al abrir el archivo, activa el editor de Visual Basic (presiona Alt+F11) y busca la hoja que dice "ThisWorkbook" (o "EsteLibro" según la versión") Copia el código siguiente y pégalo en el panel desplegado a la derecha de su Editor de Visual Basic: Private Sub Workbook_Open() cmd_TimerOn End sub Private Sub Workbook_BeforeClose(Cancel As Boolean) timer_Stop O, también, puedes agregarle un par de botones para iniciar y detener el reloj, independientemente de que hays introducido las macros de inicio y cierre. Al primer botón 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 1 sep. 03