Operaciones con horas desde combobox

Agradecido por tus aportes, bien tengo una operación donde condiciono 2 combobox en su propiedad RowSource a una lista en excel en formato horas.

Inconveniente

Cuando selecciono el valor en el combobox lo muestra en formato numero

Cuando lo paso a la base de excel lo pasa en ese mismo formato numero

La operación que necesito realizar es una hora menos la hora

Que debo hacer para que me muestre el valor que seleccione en formato hora

Que ese mismo valor lo pase a mi base en formato hora

Y que la operación la pueda realizar bajo este mismo formato.

Agradecido

Borysolmos

1 respuesta

Respuesta
3

Utiliza lo siguietne:

Private Sub ComboBox1_Change()
ComboBox1 = Format(ComboBox1, "[$-80A]hh:mm:ss AM/PM;@")
Range("C1") = ComboBox1
End Sub

Saludos. Dam

Si es lo que necesitas, podrías de favor, finalizar la pregunta.

gracias funciona perfecto para mostrar en el combo box en formato hora igual al pasarlo a la base excel solo me queda pendiente solo hacer la operación de uno menos el otro intente hacerlo de este modo pero no funciona

TIEMPO_ACTIVIDAD1 = Val(ComboBox25.Value) - Val(ComboBox24.Value)

Utiliza el siguiente código, adáptalo a tu userform

Public hora1, hora2 As Variant
Private Sub UserForm_Activate()
'Resta de horas
'Por.Dam
rango1 = "A:A"
rango2 = "B:B"
ComboBox1.RowSource = rango1
ComboBox2.RowSource = rango2
End Sub
Private Sub ComboBox1_Click()
hora1 = Val(ComboBox1)
ComboBox1 = Format(ComboBox1, "[$-80A]hh:mm:ss AM/PM;@")
End Sub
Private Sub ComboBox2_Click()
hora2 = Val(ComboBox2)
ComboBox2 = Format(ComboBox2, "[$-80A]hh:mm:ss AM/PM;@")
End Sub
Private Sub CommandButton1_Click()
TIEMPO_ACTIVIDAD1 = hora2 - hora1
MsgBox Format(TIEMPO_ACTIVIDAD1, "[$-80A]hh:mm:ss AM/PM;@")
End Sub

Saludos.Dam
Si es lo que necesitas, podrías de favor, finalizar la pregunta.

he ensayado en un archivo virgen tu propuesta pero me arroja siempre valor 12:00 am

e intentado pasarla a numero a ver si asi me resulta multiplicando el valor por 24 pero me sa 4 o -4

Te comparto mi archivo, para que veas que si te obtiene la diferencia en horas y minutos

https://www.dropbox.com/s/5y6nylxtmo3yvno/resta%20de%20horas.xls

Si quieres obtener la diferencia de horas de la hora actual menos la hora del combobox1
Pon el siguiente código
Private Sub CommandButton1_Click()
hora2 = Time()
TIEMPO_ACTIVIDAD1 = hora2 - hora1
'MsgBox Format(TIEMPO_ACTIVIDAD1, "[$-80A]hh:mm:ss AM/PM;@")
MsgBox Format(TIEMPO_ACTIVIDAD1, "[$-80A]hh:mm:ss;@")
End Sub

Saludos. Dam

Si es lo que necesitas, podrías de favor, finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas