Fecha y Hora real en useForm VBA Excel

a) Experto, necesito de su gran ayuda, necesito mostrar en un label la fecha y la hora real en un userForm, cabe indicar asimismo necesito que esa misma fecha se registre al presionar un un Botón de Comando en este caso su nombre seria cmdGrabar.

Quizás no tenga mucha relación con lo mencionado lineas arriba, pero solo quiero indicar lo siguiente: tengo una sentencia que maximiza mi userForm que es la siguiente

Private Sub UserForm_Initialize()
Application.ActiveWindow.WindowState = xlMaximized
Me.Width = Application.Width
Me.Height = Application.Height
End Sub

Dicha sentencia ha estado generando conflicto al intentar generar un código con el apoyo solicitado.

2 respuestas

Respuesta
4

Te responderé al tema del título. Luego podes dejar otra consulta indicando como título lo del cambio de tamaño y con mucho gusto te responderé también.

Para que un Label muestre hora y fecha, tenés que colocar la instrucción en el evento Initialize..

Label1.Caption = Now 'fecha y hora

Label2.Caption = Date 'solo fecha

Label3.Caption = Time 'solo hora

Luego para guardar ese dato en una hoja, la instrucción sería, x ej:

ActiveSheet.range("A5") = CDate(Label1.caption)

La función CDate convierte el texto del label en un valor de fecha. La celda debe tener el formato de fecha deseado.

PD) Tenés 1 consulta sin finalizar en tu historial. Recordá de finalizarlas para seguir recibiendo asistencia aquí.

Solo un punto: veo que la hora se queda estático ... es posible que se muestre en tiempo real ?

esto es lo que puse en mi código en el initialize:

Private Sub UserForm_Initialize()
Application.ActiveWindow.WindowState = xlMaximized
Me.Width = Application.Width
Me.Height = Application.Height
lblFecha.Caption = Now
End Sub

Saludos

Este control no se actualiza salvo que coloques un evento OnTime pero no te lo recomiendo para esto, porque hará que el form quede 'suspendido' de a ratos y no parece justificarlo.

Lo que tendrás que hacer para guardar la hoja actualizada es volverla a cargar.

Por ej, si tenés un botón de guardado, allí irán las 2 instrucciones:

Private Sub CommandButton1_Click()
Label1.Caption = Now
Sheets("Hoja1").Range("F1") = CDate(Label1.Caption)
End Sub
Respuesta

El código me resulto, pero al momento de darle click me lo guarda en automático y no espera a que termine mi registro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas