Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Resta entre dos fechas (dd/mm/yyyy hh:mm:ss)

1,500 views
Skip to first unread message

Jhon Jairo Osorio

unread,
Jun 11, 2004, 5:37:14 PM6/11/04
to
Estimadas personas del foro:

Necesito crear una macro que reste dos fechas cuyo
formato es 'dd/mm/yyyy hh:mm:ss' y el resultado lo
muestre en minutos.

Ejemplo:
'10/06/2004 8:00 am' y '10/06/2004 02:10 pm'

El resultado sería 370 minutos.

Alguien me podría coloborar con ello.

Desde ya muchas gracias por su ayuda

Cordial saludo,


JHON JAIRO OSORIO

Cesar Garcia Hernandez

unread,
Jun 11, 2004, 6:22:09 PM6/11/04
to
suponiendo que la fecha A esta en A1 y la fecha B en A2, el resultado
estaria en A3

lo que iria en A3 seria

(A2 - A1) * 24 * 60

Y no olvides de darle formato numeros sin decimales :P

Saludos!


"Jhon Jairo Osorio" <tsuna...@hotmail.com> escribió en el mensaje
news:1b6e501c44ffc$4303c550$a101...@phx.gbl...

Cesar Garcia Hernandez

unread,
Jun 11, 2004, 6:26:09 PM6/11/04
to
suponiendo que la fecha A esta en A1 y la fecha B en A2, el resultado
estaria en A3

lo que iria en A3 seria

(A2 - A1) * 24 * 60

Y no olvides de darle formato numeros sin decimales :P

Saludos!


"Jhon Jairo Osorio" <tsuna...@hotmail.com> escribió en el mensaje
news:1b6e501c44ffc$4303c550$a101...@phx.gbl...

Héctor Miguel

unread,
Jun 12, 2004, 1:38:10 AM6/12/04
to
hola, Jhon !

> ... macro que reste dos fechas cuyo formato es 'dd/mm/yyyy hh:mm:ss' y el resultado lo muestre en minutos.


> Ejemplo: '10/06/2004 8:00 am' y '10/06/2004 02:10 pm'
> El resultado sería 370 minutos.

1.- el 'principio basico' para 'trabajar' con datos 'fecha-hora'... ya lo has 'recibido'
(fecha_hora_final - fecha_hora_inicial) * 24 * 60 = 'tantos' minutos ;)
2.- los datos fecha/hora [en excel] son [en realidad] 'enteros' [dias] y 'fracciones' [horas-minutos-segundos...]
un entero [dia] tiene 24 'fracciones' [horas] y cada una [a su vez] tiene 60 'fracciones' [minutos] -etc.-
3.- el 'como los veas' =>formato<= es solo una 'mascara' [de 'presentacion' en pantalla/impresora]
4.- del 'como lo indiques' al 'que representa' =>dependera<= del sistema de fechas que use la pc
[p.e. 10/06/2004 pudiera significar' octubre/6 o... 10/junio]
5.- para evitar 'errores de interpretacion' [al trabajar con fechas =>por codigo<=]...
te sugiero consultar en la ayuda de vba...
Application.International(xlDateOrder)
Application.International(xlYearCode)
DateValue("Fecha indicada como texto")
DateSerial(Año, Mes, Dia) [y algunas mas...] ;)
6.- haz una prueba con los siguientes codigos [deja 'libres' las celdas del rango 'A1:C4'] y...
¿comentas?
saludos,
hector.
---------
Sub JugandoConTiempos()
Dim FechaHora1Serie As Double, FechaHora2Serie As Double, _
FechaHora1Texto As String, FechaHora2Texto As String
FechaHora1Serie = 38148.3333333333
Range("a1") = FechaHora1Serie
Range("b1") = FechaHora1Serie
FechaHora2Serie = 38148.5902777778
Range("a2") = FechaHora2Serie
Range("b2") = FechaHora2Serie
Range("a3").Formula = "=a2-a1"
Range("b3").Formula = "=b2-b1"
Range("a3").NumberFormat = "[m]"
Range("b3").NumberFormat = "[m]"
Range("a4").Formula = "=(a2-a1)*24*60"
Range("b4").Formula = "=(b2-b1)*24*60"
Range("b1:b2").NumberFormat = "dd/mm/yyyy h:m am/pm"
Range("b1").EntireColumn.AutoFit
FechaHora1Texto = "10/06/2004 8:00:00 a.m."
FechaHora2Texto = "10/06/2004 2:10:00 p.m."
FechaHora1 = DateValue(FechaHora1Texto)
Range("c1") = CDate(FechaHora1Texto)
FechaHora2 = DateValue(FechaHora2Texto)
Range("c2") = CDate(FechaHora2Texto)
Range("c3").Formula = "=c2-c1"
Range("c3").NumberFormat = "[m]"
Range("c4").Formula = "=(c2-c1)*24*60"
Range("c1").EntireColumn.AutoFit
End Sub

0 new messages