ActiveCell.Value = Tiempo vba sin segundos


0

Tengo una macro de "hoja de horas" para las horas de entrada y salida para que los empleados las usen en el trabajo. La macro que tengo es esta:

ActiveCell.Value = Time
ActiveCell.NumberFormat = "h:mm AM/PM"

Funciona bien y solo se muestra como "7:30 AM", como ejemplo, pero en el campo de edición, hay segundos y esto puede hacer que el tiempo de cambio (fórmula = IF (OR (C2 = "", F2 = "" ), "", ((F2-C2) - (E2-D2)) * 24)) apagado por un minuto si los segundos no se alinean, pero no pagamos segundos, solo minutos. ¿Hay alguna manera de modificar la macro donde solo se capturan la hora y los minutos? El formateo no lo corrige. Estoy de acuerdo con que regrese "7:30:00 AM" cada vez y no los segundos reales. ¡Gracias!

Respuestas:


2

Redondear al minuto más cercano:

 ActiveCell.Value = Int(Time * 24 * 60) / (24 * 60)

O

ActiveCell.Value = TimeSerial(Hour(Time),Minute(Time),0)

0

Puedes probar esto también:

ActiveCell.Value = Format(range("D2"), "HH:MM")

Tenga en cuenta que Cell D2tiene una fórmula que calcula el tiempo que ha mostrado en la pregunta anterior.

O en lugar de ActiveCell, también puede usar lo siguiente:

Selection.NumberFormat = "h:mm"
Range("E327").NumberFormat = "hh:mm"
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.