una sumar poner operaciones now manejo horas funciones funcion formato fechas fecha dias con actual vba ms-access ms-access-2007 access-vba ms-access-2003

sumar - vba excel operaciones con fechas



Ahora() funciona con tiempo de recorte (6)

Hay una función de fecha .

Entonces la función =Now() .... ¿hay una manera en que pueda usar esto y solo obtener la fecha, no la hora?

¿O hay solo una función para esta idea?


Las fechas en VBA son solo números de punto flotante, donde la parte entera representa la fecha y la parte de la fracción representa la hora. Entonces, además de usar la función Date como dice tlayton (para obtener la fecha actual ), también puede convertir un valor de fecha en un entero para obtener la parte de la fecha de una fecha arbitraria: Int(myDateValue) .


Pega esta función en tu módulo y utilízala como fórmula

Public Function format_date(t As String) format_date = Format(t, "YYYY-MM-DD") End Function

por ejemplo en la celda A1 aplicar esta fórmula

=format_date(now())

volverá en formato YYYY-MM-DD. Cambie cualquier formato (año, mes, fecha) como desee.


Preferiría hacer una función que no funcione con cadenas:

''--------------------------------------------------------------------------------------- '' Procedure : RemoveTimeFromDate '' Author : berend.nieuwhof '' Date : 15-8-2013 '' Purpose : removes the time part of a String and returns the date as a date ''--------------------------------------------------------------------------------------- '' Public Function RemoveTimeFromDate(DateTime As Date) As Date Dim dblNumber As Double RemoveTimeFromDate = CDate(Floor(CDbl(DateTime))) End Function Private Function Floor(ByVal x As Double, Optional ByVal Factor As Double = 1) As Double Floor = Int(x / Factor) * Factor End Function


También puede usar Formato $ (ahora (), "Fecha corta") o cualquier formato de fecha que desee. Tenga en cuenta que esta función devolverá la fecha como una cadena, por lo que usar Date () es un mejor enfoque.


DateValue(CStr(Now()))

Eso es lo mejor que he encontrado. Si ya tienes la fecha como una cadena, puedes hacerlo:

DateValue("12/04/2012 04:56:15")

o

DateValue(*DateStringHere*)

Espero que esto ayude a alguien...