Userform1

Hola Agradecería me ayudaras con lo siguiente
Tengo un formulario y quiero que me aparezca la hora del computador como hago
Gracias
John

1 respuesta

Respuesta
1
Para lo que solicitas, puedes apelar a una aplicación de una rutina que coloca un reloj en una etiqueta (label1) de tu formulario.
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()
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 current time in an userform label.
'Coloca hora en una etiqueta de un formulario:
UserForm1.Label1.Caption = 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
----
Dentro de este código verás una instrucción:
UserForm1.Label1.Caption = Format(CStr(Time), "hh:mm:ss")
Que le indica a la macro, dónde mostrar la hora (podría ser una celda, también),
mi pequeño aporte a tan buen procedimiento.
Finalmente, para que la macro se ejecute al mostrar el formulario, activa el editor de Visual Basic (presiona Alt+F11) y da doble click sobre el formulario donde debe mostrarse la hora del sistema.
Copia el código siguiente y pégalo en el panel desplegado a la derecha de su Editor de Visual Basic:
Private Sub UserForm_Initialize()
cmd_TimerOn
End Sub
Private Sub UserForm_Terminate()
timer_Stop
Asumo que tendrás alguna macro que muestra el formulario con una instrucción del tipo:
Userform1.show
Al iniciarse, disparará el procedimiento que inicia el reloj y lo mostrará en la etiqueta que habrás agregado al efecto. El evento de cierre del formulario, detiene la rutina del reloj.
---
Espero que esto cubra tus expectativas.
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas