Dividir textbox con formato de hora con un textbox con formato de numero entero

Tengo un formulario en donde ingreso en un textbox horas ej:10:00 y otro textbox en donde se carga un numero entero, lo que necesito es dividir las horas por el numero entero ej: 10:00 / 5 y enviarlo a otro textbox. He probado algunos codigos pero no arroja lo que quiero:

textbox3 = textbox1 / textbox2

2 respuestas

Respuesta

[Hola. Prueba así.

Private Sub CommandButton1_Click()
TextBox3.Value = CDbl(TextBox1) / CDbl(TextBox2)
End Sub

Salu2 Carlos Arrocha

Gracias porla pronta respuesta, me da error " no coinciden los tipos"

Que raro. No hay código para que de error. Si te fijas, lo he puesto dentro del evento de un botón.

Si lo probé y me da ese error, las horas las ingreso así: 10:50

[Hola. Es que el problema esta en la división. Este otro te resta o suma cambiando el signo, pero cuando se trata de dividir da error. Si este no te sirve no te puedo ayudar. Mis conocimientos en esto son escasos.

Private Sub CommandButton1_Click()
Dim Tpo1, Tpo2 As Variant
Tpo1 = Format(Me.TextBox1, "hh:mm")
Tpo2 = Format(Me.TextBox2, "hh:mm")
Me.TextBox3 = Format(TimeValue(Tpo2) - TimeValue(Tpo1), "hh:mm")
End Sub
Respuesta

¿Cuál es el resultado que esperas obtener? Por ejemplo 10 horas dividida en 5 partes son 2 horas cada parte. Por lo que 10:00 ente 5 debería ser 2 (¿2 * 5 = 10) Es eso lo que esperas obtener?

A parte de eso, como quieres mostrar el resultado, ¿cómo numero entero o en formato de Hora?

Para hacer una división "literal" tienes que convertir la hora del textbox1 a String, reemplazar el los dos puntos por un punto y luego convertirlo a Double. Es lo que le falto a Carlos, no puedes convertir directo de hora a doble así sin mas, se saltó un par de pasos.

Gracias andy, si efectivamente sin son 10 horas dividas por 5 debería dar 2 horas y el formato debería ser 2:00 horas.

Prueba este código:

Private Sub CommandButton1_Click()
Dim txtHora As String: txtHora = Me.TextBox1.Value
txtHora = Replace(txtHora, ":", ".")
txtHora = txtHora / Me.TextBox2.Value
Me.TextBox3.Value = Replace(Format(txtHora, "#.00"), ".", ":")
End Sub

Andy

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas