¿Cómo generar un código de tiempo?

Como desarrollar un contador de tiempos que inicie y coloque el tiempo con segundos y que con otro lo detenga asu ves si esta la celda llena lo coloque abajo y así sucesivamente con resultado de duración

2 Respuestas

Respuesta
1

¿Algo cómo esto?

este es el codigo

Private Sub CommandButton1_Click()
TextBox1.Text = Time
CommandButton1.Caption = "corriendo"
CommandButton2.Caption = "detener"
End Sub
Private Sub CommandButton2_Click()
TextBox2.Text = Time
TextBox3.Text = Second(CDate(TextBox2.Text) - CDate(TextBox1.Text))
CommandButton1.Caption = "activar"
CommandButton2.Caption = ""
r = Range("c7").CurrentRegion.Rows.Count
Range("c7").Rows(r + 1) = TextBox1.Text
Range("d7").Rows(r + 1) = TextBox2.Text
Range("e7").Rows(r + 1) = TextBox3.Text
End Sub

O si esta excelente pero veo que la visualización es solo en el UserForm necesito guardar esos datos en las columnas "D" el inicio y "E" el final

De antemano muchas gracias!

Cambia estas líneas

range("c7").rows(r+1)=textbox1.text

range("d7").rows(r+1)=textbox2.text

range("e7").rows(r+1)=textbox3.text

por estas

range("d7").rows(r+1)=textbox1.text

range("e7").rows(r+1)=textbox2.text

range("f7").rows(r+1)=textbox3.text

y esta r=range("c7").currentregion.rows.count por esta

r=range("d7").currentregion.rows.count

Muchas gracias, una duda más en esta línea

TextBox3.Text = Second(CDate(TextBox2.Text) - CDate(TextBox1.Text))

Como puedo hacer que aparezca 00:00:00 con el tiempo respectivamente

Saludos!

Usa esta instrucción en ve de la que esta

TextBox3.Text = Format(CDate(TextBox2.Text) - CDate(TextBox1.Text), "hh:mm:ss")

hola de nuevo, se realizo todo pero este en una hoja en blanco se ejecuta sin problemas, el problema es cuando le doy formato como la primer imagen que anexe a la pregunta original, este no se recorre a las celdas que siguen si no que sigue estando en el mismo y me sobre escribe los datos del tiempo

saludos, espero me ayude, Muchas Gracias!

Por cierto retire el .currentregion quedando así la línea

r = range("D6").Rows.Count

Porque si no esto no me permitía capturar datos

Esta es el resultado de las modificaciones a la macro, el problema es que estaba considerando mal las filas del formato

y esta es la macro

Private Sub CommandButton1_Click()
TextBox1.Text = Time
CommandButton1.Caption = "corriendo"
CommandButton2.Caption = "detener"
End Sub
Private Sub CommandButton2_Click()
TextBox2.Text = Time
TextBox3.Text = Format(CDate(TextBox2.Text) - CDate(TextBox1.Text), "hh:mm:ss")
CommandButton1.Caption = "activar"
CommandButton2.Caption = ""
r = Range("d7").CurrentRegion.Rows.Count
With datos
    Range("d" & r + 3) = TextBox1.Text
    Range("e" & r + 3) = TextBox2.Text
    Range("f" & r + 3) = TextBox3.Text
End With
End Sub

Excelente muchísimas ¡Gracias!

Saludos! Y molestando de nuevo no contemple o no avia notado que el guardado del tiempo se brinca la celda si esta encuentra una ocupada así sucesivamente se desplaza habrá forma de que se puede alinear

Buenas noches!

Este es el resultado de la macro con otra modificación

t

Private Sub CommandButton1_Click()
TextBox1.Text = Time
CommandButton1.Caption = "corriendo"
CommandButton2.Caption = "detener"
End Sub
Private Sub CommandButton2_Click()
TextBox2.Text = Time
TextBox3.Text = Format(CDate(TextBox2.Text) - CDate(TextBox1.Text), "hh:mm:ss")
CommandButton1.Caption = "activar"
CommandButton2.Caption = ""
Set tiempo = Range("D8").Resize(1, 3)
ATRAS:
CUENTA = WorksheetFunction.CountBlank(tiempo)
If CUENTA = 0 Then
    R = tiempo.Rows.Count
    Set tiempo = tiempo.Rows(R + 1).Resize(1, 3)
    GoTo ATRAS
End If
With tiempo
    .Cells(1, 1) = TextBox1.Text
    .Cells(1, 2) = TextBox2.Text
    .Cells(1, 3) = TextBox3.Text
End With
Set tiempo = Nothing
End Sub
Respuesta
1

Esto puede aportar algo más

https://youtu.be/IsIYC6vTSP4

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas