Jump to content
cabrerase

actualizar hora en textbox

Recommended Posts

Buen día, estoy incursionando en el mundo de la programación mediante VBA para excel. Tengo un problema con un formulario que tengo creado, sucede que este está hecho para registrar movimientos en una empresa y quiero que al momento de guardar un registro quede grabada la fecha y la hora en el que se presionó el botón guardar registro y no el momento en el que se abrió el formulario por primera vez. Necesito que el textbox1 actualice la hora cada segundo. Adjunto el archivo que estoy desarrollando.

Este es el código que estoy usando actualmente

Private Sub combobox1_change()
If ComboBox1.Value = "VENTA" Then
    TextBox2.Enabled = True
    TextBox4.Enabled = False
    TextBox5.Enabled = False
    TextBox6.Enabled = True
    ComboBox2.Enabled = True
    ComboBox3.Enabled = True
    ComboBox4.Enabled = True
    ComboBox5.Enabled = True
    ComboBox6.Enabled = True
    ComboBox7.Enabled = True
    ComboBox8.Enabled = True
    ComboBox9.Enabled = True
    Else
    TextBox2.Enabled = False
    TextBox4.Enabled = True
    TextBox5.Enabled = True
    ComboBox2.Enabled = False
    ComboBox3.Enabled = False
    ComboBox4.Enabled = False
    ComboBox5.Enabled = False
    ComboBox6.Enabled = False
    ComboBox7.Enabled = False
    ComboBox8.Enabled = False
    ComboBox9.Enabled = False
    TextBox6.Enabled = False
        
    End If
    End Sub

Private Sub CommandButton1_Click()
Application.Visible = True

End Sub

Private Sub registro_Click()
Dim fila As Integer
fila = 1
While Cells(fila, 1) <> ""
    fila = fila + 1
Wend
Cells(fila, 1) = TextBox1.Text
Cells(fila, 2) = ComboBox1.Text
Cells(fila, 3) = TextBox4.Text
Cells(fila, 4) = TextBox5.Text
Cells(fila, 5) = TextBox2.Text
Cells(fila, 6) = ComboBox8.Text
Cells(fila, 7) = ComboBox9.Text
Cells(fila, 8) = ComboBox7.Text
Cells(fila, 9) = ComboBox6.Text
Cells(fila, 10) = ComboBox5.Text
Cells(fila, 11) = ComboBox4.Text
Cells(fila, 12) = ComboBox3.Text
Cells(fila, 13) = ComboBox2.Text
Cells(fila, 14) = TextBox6.Text

ComboBox1 = Empty
TextBox4 = Empty
TextBox5 = Empty
TextBox2 = Empty
TextBox3 = Empty
ComboBox7 = Empty
ComboBox6 = Empty
ComboBox5 = Empty
ComboBox4 = Empty
ComboBox3 = Empty
ComboBox2 = Empty
TextBox6 = Empty
ComboBox8 = Empty
ComboBox9 = Empty

End Sub

Private Sub UserForm_Initialize()
Application.Visible = False

TextBox1 = Format(Now, "DD/MM/YYYY hh:mm:ss")


End Sub
    

 

Nueva caja registradora.xlsm

Share this post


Link to post
Share on other sites

Estimado @Diego9019 Gracias por la respuesta, en si lo que necesito es que el segundero del reloj que se encuentre en el textbox1 tenga el comportamiento de un reloj....es decir que vaya aumentado segundo a segundo y que al momento de guardar el registro quede registrada la hora exacta.

Share this post


Link to post
Share on other sites

1.- Inserta un módulo y pega este código:

Option Explicit
Public Actualizar As Boolean
Sub Reloj()
    espejito.Show (False)
End Sub
Sub Hora()
    If Actualizar Then
        espejito.TextBox1 = Format(Now, "dddd dd/mm/yyyy hh:mm:ss")
        Application.OnTime Now + TimeValue("00:00:01"), "Hora"
    End If
End Sub

2.- En un form en Private Sub UserForm_Initialize() pega este código:

 Actualizar = True
    TextBox1 = Format(Now, "dddd dd/mm/yyyy hh:mm:ss")
    Application.OnTime Now + TimeValue("00:00:01"), "Hora"

Y por ultimo, me comentas si te funcionó o no, vale.

Saludos,

Copia de Nueva caja registradora-1.xlsm

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 6254 personas - Aprender Excel - Total: 4.7 / 5