Convertir Número a Texto luego a formato Hora

Sres. T. E.

Convertir número con Formato Número con dos decimales "13,40" convertirlo en texto eliminado la el
Punto decimal ",", luego en formato Hora "hh:mm" "13:40"

Respuesta
1

Pruebe con esta función

Public Function fracc_hora2(HoraDecimal As Double) As String
    Dim horas As Integer
    Dim minutos As Integer
    ' Obtener las horas y los minutos
    horas = Int(HoraDecimal) ' Parte entera (horas)
    minutos = (HoraDecimal - horas) * 60 ' Parte decimal convertida a minutos
    ' Formato de salida "hh:mm"
    fracc_hora2 = Format(horas, "00") & ":" & Format(Int(minutos), "00")
End Function

Ejemplo de llamada

?fracc_hora2(13.40)
13:24

Creo que está confundido 13,40 no es lo mismo que 13:40

Hola Eduardo.

Pienso que no estoy confundido, la idea es sencilla pero no logro tener el resultado deseado.

Te explico:

Tengo en la celda un valor Numérico "13,40" el necesito convertirlo en Hora como "13:40".

El cual necesito  obtener el resultado de esta operación 2:00 - 13:40 el resultado de esta operación 4:20 y haciéndolo como 2,00 - 13,40 = 4,60

Te Anexo código que he realizado: 

Sub MuestraHoraHHMM()
Dim StrSal As Variant
Dim SalStr As String
'SalStr = CStr("13,40")  '*** Con este formato funciona ***'
SalStr = CStr(Cells(7, 2).Value) '*** Celda Cells(7, 2).Value '*** Pero la idea es que funcione con esta forma ***'

SalStr = Mid(Cells(7, 2), 1, 2) & Mid(Cells(7, 2), 3, 2)
SalStr = Replace(CStr(SalStr), ",", ":")
Cells(18, 10) = SalStr

End Sub

Te agradezco la colaboración de enviar repuesta

Saludos

Pruebe cos este, antes le informo Excel no es mi especialidad.

Sub MuestraHoraHHMM()
    Dim StrSal As Variant
    Dim SalStr As String
    Dim Hora As Date
    Dim HoraBase As Date
    Dim Resultado As Date
    ' Leer el valor de la celda
    StrSal = Cells(7, 2).Value ' Asumiendo que el valor "13,40" está en la celda B7
    ' Convertir el valor "13,40" a formato "13:40"
    SalStr = Replace(CStr(StrSal), ",", ":")
    ' Convertir a tipo de dato Date
    Hora = CDate(SalStr)
    ' Definir la hora base (2:00)
    HoraBase = TimeValue("2:00")
    ' Realizar la resta
    Resultado = HoraBase - Hora
    ' Si el resultado es negativo, sumamos 24 horas
    If Resultado < 0 Then
        Resultado = Resultado + TimeValue("24:00")
    End If
    ' Mostrar el resultado en formato horas y minutos
    Cells(18, 10) = Format(Resultado, "hh:mm") ' Muestra el resultado en J18
    Cells(19, 10) = Format(Resultado * 24, "0.00") ' Muestra el resultado en J19 en formato decimal
End Sub

1 respuesta más de otro experto

Respuesta

The qualification criteria for MCAs are often less stringent compared to traditional loans. For businesses that may struggle to meet the credit requirements of conventional lenders, MCAs offer an alternative route to obtaining funding this page. The focus on daily credit card sales as the primary criterion means that businesses with strong sales performance but less stellar credit histories can still secure financing. The qualification criteria for MCAs are often less stringent compared to traditional loans. For businesses that may struggle to meet the credit requirements of conventional lenders, MCAs offer an alternative route to obtaining funding. The focus on daily credit card sales as the primary criterion means that businesses with strong sales performance but less stellar credit histories can still secure financing.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas