数字を日付に変換する VBA

VBA で、DateSerial 関数を使用して数値を日付に変換できます。DateSerial 関数は年、月、日という 3 つのパラメーターを受け取ります。以下にコードを例示します。

Dim myDate As Date
Dim myNumber As Long

myNumber = 44000 '假设数字为44000,代表日期为2020年1月1日
myDate = DateSerial(Year:=Year(DateSerial(1900, 1, 1)) + Int(myNumber / 365), _
                    Month:=Month(DateSerial(1900, 1, 1)) + Int((myNumber Mod 365) / 30.42), _
                    Day:=Day(DateSerial(1900, 1, 1)) + (myNumber Mod 365) Mod 30.42)

MsgBox "日期为:" & myDate

myNumberという数字を日付に変換するこのコードでは、myNumberが変換する数字で、myDateが変換後の日付です。まず、1900年1月1日の年、月、日(Year(DateSerial(1900,1,1))など)を取得し、myNumberを365で割って年分のオフセットを取得し、さらに残りを30.42で割って月分のオフセットを取得し、それらを加算した値と元の年、月、日に加え、最終的な日付を得ます。

bannerAds