Hay alguna fórmula o código en excel para poner las horas y minutos en letras

ejemplo: 10:22 =las diez horas con veintidós minutos a.m.

                1:10 = la una con diez minutos a.m

                13:02 = las trece horas con dos minutos p.m

                16:37 = las dieciséis horas con treinta y siete minutos p.m 

1 respuesta

Respuesta
1

Le dejo este ejemplo:

COPIE ESTE CÓDIGO EN UN MODULO

Public Function ConvertirHoraATexto(hora As Date) As String
    Dim horas As Integer
    Dim minutos As Integer
    Dim texto As String
    Dim numerosLetras(0 To 59) As String ' Arreglo con los números en letras
    ' Inicializar el arreglo con los números en letras
    numerosLetras(0) = "cero"
    numerosLetras(1) = "uno"
    numerosLetras(2) = "dos"
    numerosLetras(3) = "tres"
    numerosLetras(4) = "cuatro"
    numerosLetras(5) = "cinco"
    numerosLetras(6) = "seis"
    numerosLetras(7) = "siete"
    numerosLetras(8) = "ocho"
    numerosLetras(9) = "nueve"
    numerosLetras(10) = "diez"
    numerosLetras(11) = "once"
    numerosLetras(12) = "doce"
    numerosLetras(13) = "trece"
    numerosLetras(14) = "catorce"
    numerosLetras(15) = "quince"
    numerosLetras(16) = "dieciséis"
    numerosLetras(17) = "diecisiete"
    numerosLetras(18) = "dieciocho"
    numerosLetras(19) = "diecinueve"
    numerosLetras(20) = "veinte"
    numerosLetras(21) = "veintiuno"
    numerosLetras(22) = "veintidos"
    numerosLetras(23) = "veintitres"
    numerosLetras(30) = "treinta"
    numerosLetras(40) = "cuarenta"
    numerosLetras(50) = "cincuenta"
    ' Extraer las horas y los minutos de la hora
    horas = Hour(hora)
    minutos = Minute(hora)
    ' Convertir las horas a formato de 12 horas y obtener el texto correspondiente
    If horas = 0 Then
        texto = "Las doce horas"
    ElseIf horas <= 12 Then
      If horas = 1 Then
        texto = "La una"
      Else
        texto = "Las " & numerosLetras(horas) & " horas"
      End If
    Else
       ' texto = "Las " & numerosLetras(horas - 12) & " horas"
        texto = "Las " & numerosLetras(horas) & " horas"
    End If
    ' Agregar el texto correspondiente a los minutos
    If minutos = 0 Then
        texto = texto & " en punto"
    ElseIf minutos <= 20 Then
        texto = texto & " con " & numerosLetras(minutos) & " minutos"
    Else
        texto = texto & " con " & numerosLetras((minutos \ 10) * 10) ' Obtener la decena
        If minutos Mod 10 <> 0 Then ' Si hay unidad
            texto = texto & " y " & numerosLetras(minutos Mod 10) & " minutos"
        End If
    End If
    ' Agregar el indicador de AM o PM
    If horas < 12 Then
        texto = texto & " a:m"
    Else
        texto = texto & " p:m"
    End If
    ' Devolver el texto completo
    ConvertirHoraATexto = texto
End Function

Le dejo una idea hay que hacer algunos ajustes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas