したがって、関数=Now()
....これを使用して、時刻ではなく日付のみを取得する方法はありますか?
それとも、このアイデアのための機能だけがありますか?
したがって、関数=Now()
....これを使用して、時刻ではなく日付のみを取得する方法はありますか?
それとも、このアイデアのための機能だけがありますか?
日付関数があります。
VBAの日付は単なる浮動小数点数であり、整数部分は日付を表し、小数部分は時間を表します。したがって、Date
tlaytonが言うように(現在の日付を取得するために)関数を使用することに加えて、日付値を整数にキャストして、任意の日付から日付部分を取得することもできますInt(myDateValue)
。
DateValue(CStr(Now()))
それは私が見つけた中で最高です。日付を文字列として既に持っている場合は、次のようにすることができます。
DateValue("12/04/2012 04:56:15")
また
DateValue(*DateStringHere*)
これが誰かを助けることを願っています...
文字列では機能しない関数を作成したいと思います。
'---------------------------------------------------------------------------------------
' 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
Format $(Now()、 "Short Date")または任意の日付形式を使用することもできます。この関数は日付を文字列として返すため、Date()を使用する方が適切な方法であることに注意してください。
この関数をモジュールに貼り付けて、数式のように使用します
Public Function format_date(t As String)
format_date = Format(t, "YYYY-MM-DD")
End Function
たとえば、セルA1でこの数式を適用します
=format_date(now())
YYYY-MM-DD形式で返されます。必要に応じて、任意の形式(年月日)を変更します。