Ayuda3

Hola que tal, me podrías ayudar en dos cosas, primero hay un formato predeterminado para la fecha y hora, es decir, un macro una función, que exista una celda o campo que ya tenga el formato de la fecha y hora, me interesa como 28/MAyo/03 16:50 horas (algo así) y la segunda como hago para realizar una fórmula que me diga entre dos fechas, una inicial y otra final y haga un calculo de de horas y minutos y otra sola en minutos, por ejemplo tengo una fecha de inicial de 28/Mayo/03 16:50 horas y tengo una final que seria 29/Mayo/03 16:51 horas, el primer calculo tendría que ser 24 horas 1 minuto y el segundo calculo seria 1441 minutos, me podrías ayudar por favor
De antemano mil gracias
Atentamente luis

3 respuestas

Respuesta
1
Para el formato de fechas selecciona la celda a darle formato, presiona CTRL+1, te aparece el formulario de formato de celda, selecciona la pestaña de Número, en categoría selecciona personalizada y en el textBox que pone Tipo escribe lo siguiente (dd/mmmm/aa hh:mm "hrs"), y voalá, para la resta realiza la resta entre las dos celdas que contienen las fechas, y le das formato como te indique antes pero esta vez en Tipo pones ([h] "horas" mm "minutos") para horas y minutos, y ([m] "minutos") para minutos.
Respuesta
1
Los formatos de hora y fecha los puedes personalizar en el menu formato sin ningún problema (acuérdate de poner comillas al texto que quieras introducir)
Para los cálculos de diferencias horaria hay que elaborar unas funciones en visual basic, para lo que te pido paciencia (estoy en ello),
en excel, con las fórmulas se puede hacer, pero da problemas por lo que no las aconsejo
este mensaje solo es un adelanto, te volveré a responder una vez haya terminado la función en visual basic
saludos
Gracias por tu ayuda y espero tu respuesta.
Atentamente
Luis
Bien, acabo de terminar y las primeras pruebas parece que son correctas, si no es así házmelo saber
b5)hora inicial c5)28/mayo/03 16:49 horas
b6)hora final c6)29/mayo/03 16:51 horas
b7)horas y minutos transcurrisdos c7)=validar(C5;C4)
b8)minutos transcurridos c8)=difhora(C4;C5)
Validar y difhora son dos funciones que he creado que automáticamente al escribir fecha y hora en c5 y c6 nos devuelve lo que me pedías
El código vb solicitado es:Function validar(a, b)
res = #12:00:00 AM#
a = Cells(4, 3)
b = Cells(5, 3)
res = difhora(a, b)
Min = res Mod 24
hor = (res - Min) / 60
If Min <> 1 Then
resmin = hor & " horas " & Min & " minutos"
Else
resmin = hor & " horas " & Min & " minuto"
End If
validar = resmin
End Function
Function difhora(a, b)
difhora = DateDiff("n", a, b)
End Function
Pruébalo y me dices algo, acuérdate de valorar y cerrar la pregunta para que tanto tu como otros puedan hacer preguntas
espero te haya sacado de algún apuro.
Respuesta
1
Vale, pero necesito una aclaración :
1.- Te sirve en macro de Visual basic para aplicaciones, que la insertas en la excel. (Es lo más sencillo)
2.- En todo caso, como almacenas las fechas en excel, ¿cómo serie? ¿O cómo texto? No has probado para la primera parte de tu pregunta simplemente cambiar el formato de la celda, ¿verdad? Si lo pones en modo Fecha, puedes poner el formato como quieras.
Para lo de la resta Puedes restar para días. Para horas y demás voy a mirar las funciones, mañana te lo digo. Pero con una macro de visual no tardo nada
Con un format() de la resta me vale...
Para hacerlo con fórmulas, de buenas a primeras, debería validar si has intentado usar las series de excel que representan las fechas.
Aclarame esto y te resulevo la pregunta según quieras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas