Macro en Excel para convertir numero en horario

Necesito crear una formula o una macro, que haga lo siguiente.

Tengo una herramienta de horarios que me exporta el horario, pero no en formato correcto. Es decir. La herramienta a cada horario es un número. Por ejemplo, el numero 705 corresponde al horario de 07:00 - 14:00. El numero 733 corresponde al horario de 14:00 - 21:00. El programa me exporta el Excel y me sale el nombre de la persona, y a la derecha los números.

Necesito una macro que me transforme ese número (733, 705 ) en el horario correspondiente ( 07:00 - 14:00, 14:00 - 21:00 …. ).

¿Me ayudáis?

2 Respuestas

Respuesta
2

Prueba esta macro

sub horarios()
dim unicos as new collection
set claves = range("a1").currentregion
with claves
filas = .rows.count
    for i = 1 to .cells.count
        clave = .cells(i)
        if isnumeric(clave) then
        on error resume next
            if clave <> empty then unicos.add clave, cstr(clave)
            on error goto 0
        end if
    next i
    set horario = .rows(filas + 4).resize(unicos.count, 2)
    matriz = horario
    for i = 1 to unicos.count
        clave = unicos.item(i)
        matriz(i, 1) = clave:
        select case clave
            case 705: matriz(i, 2) = "07:00:00-14:00:00"
            case 709: matriz(i, 2) = "08:00:00-15:00:00"
            case 733: matriz(i, 2) = "14:00:00-21:00:00"
            case 735: matriz(i, 2) = "14:30:00-21:30:00"
            case 749: matriz(i, 2) = "15:00:00-22:00:00"
            case 761: matriz(i, 2) = "15:30:00-24:00:00"
            case 763: matriz(i, 2) = "07:30:00-14:30:00"
            case 412: matriz(i, 2) = "09:30:00-13:30:00"
            case 410: matriz(i, 1) = "09:00:00-13:00:00"
        end select
    next i
with horario
    range(.address) = matriz
    .sort key1:=range(.columns(2).address), order1:=xlascending
end with
set horario = nothing: set claves = nothing: set unicos = nothing
end with
end sub
Respuesta

Todo se puede, pero si me detallas o me mandas un ejemplo, por que puedes hacer una pequeña base conde con buscarv o elegir devuelta lo que quieres a través de una Macro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas