関数=Now()
....これを使用して、時刻ではなく日付のみを取得する方法はありますか?
または、このアイデアのための機能はありますか?
日付関数 があります。
VBAの日付は単なる浮動小数点数であり、整数部は日付を表し、小数部は時刻を表します。したがって、tlaytonが言うようにDate
関数を使用することに加えて(current日付を取得するため)、日付値を整数にキャストして任意の日付から日付部分を取得することもできます: 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を返すので、Date()を使用する方が良いことに注意してください。
この関数をモジュールに貼り付け、式のように使用します
Public Function format_date(t As String)
format_date = Format(t, "YYYY-MM-DD")
End Function
たとえば、セルA1にこの式を適用します
=format_date(now())
yYYY-MM-DD形式で返されます。必要に応じて形式(年月日)を変更します。