Entrar hora en Excel con ". o ," como separador en vez de ":"

Anónimas
2021-02-01T12:41:32+00:00

Tengo una inquietud para optimizar la entrada de datos en un excel que entre muchas otras cosas, calcula los Holdings Times de diferentes procesos (hay que introducir muchos).

Tal y como lo tengo hecho, tengo que escribir siempre la hora en formato 11:10, con los ":", lo que no es muy eficiente a la hora de introducir muchas horas.
Lo idea sería introducir por ejemplo "11.10" o "11,10" o incluso "1110" y que mediante VBA se encargase de que el contenido de la celda fuese realmente "11:10" para que a continuación calcule bien la diferencia en formato hora (tal y como se muestra en la barra de fórmulas de la imagen adjunta).

Microsoft 365 y Office | Excel | Para la casa | Windows

Pregunta bloqueada. Esta pregunta se migró desde la Comunidad de Soporte técnico de Microsoft. Puede votar si es útil, pero no puede agregar comentarios o respuestas ni seguir la pregunta.

0 comentarios No hay comentarios
{count} votos
Respuesta aceptada por el autor de la pregunta
  1. Anónimas
    2021-02-02T11:43:04+00:00

    1.- Debes poner el código dentro del evento CHANGE de la hoja.

    2.- Dentro de un condicional que comprueba si la celda modificada es alguna de las celdas «hora», desactiva los eventos para que la corrección no dispare el evento nuevamente...

        Application.EnableEvents= False

    … luego colocas el código que fracciona el número, seguido de la construcción de la hora.

    Un detalle en esta fracción de mi código…

    Case3, 4

    hor = Right("00" & hor, 4)

    h = Left(hor, 2)

    m =Right(hor, 2)

    End Select

    Target.Value = h &":" & m

    … finalmente activa de nuevo los eventos

    1 persona ha encontrado útil esta respuesta.
    0 comentarios No hay comentarios

3 respuestas adicionales

Ordenar por: Muy útil
  1. Anónimas
    2021-02-01T15:37:04+00:00

    Hola:

    Si te puedes permitir tener una celda/columna extra para la 'introducción' de la hora, yo lo haría sin VBA, con una formula:

    Imagen

    En el ejemplo en concreto, se podrían 'escribir' las horas en las celdas D2 y D3 y poner la formula 'de conversión' en C2 y C3.

    Obviamente, un control de validación de datos no estaría de más ;-)

    Espero que te sirva, 

    Un saludo

    0 comentarios No hay comentarios
  2. Anónimas
    2021-02-01T18:46:46+00:00

    mouzo_. El . y la , ya se utilizan para separador de miles y separador decimal (o viceversa). No veo complejo mayúscula + :

    LG DES. Tu fórmula fallaría (por ejemplo) para las 9:10 (no puede entrar 0910 salvo que sea texto).

    Si los minutos siempre van a ser 01, 02,... 09, 10, 11,... 59,   se puede hacer con tu fórmula variándola a:  izquierda (largo - 2) y derecha 2. La columna de las horas (tu fórmula) podría estar oculta y calcular con ella, quedando visible sólo la de entrada de datos (menos molestia visual).

    Considerando que la columna de las horas va a ser fija, yo preferiría VBA (para gustos colores Imagen).

    0 comentarios No hay comentarios
  3. Anónimas
    2021-02-02T06:42:17+00:00

    Eso preguntaba, como se podría hacer esto con VBA.

    Lo que dices de Mayus+ : es precisamente lo que quiero evitar par atener que evitar sacar la mano del teclado numérico...

    0 comentarios No hay comentarios