L羅樂 / 生日提醒和合... / VBA中常用的日期函數 | VBA實例教程

0 0

   

VBA中常用的日期函數 | VBA實例教程

2017-05-13  L羅樂

除非注明,文章均為 戰戰如瘋 原創,轉載請保留鏈接: http://www.zhanzhanrufeng.com/cat1/226.html,VBA交流群273624828。

今天來講一下VBA中一些常用的日期函數。先把代碼寫出來,再來一一講解。

Sub test()
Dim t1, t2, t3, t4, t5, t6, t7, t8, t9, d, jgm, jgy
t1 = #9/20/2014#
t2 = #9/19/2014#
Debug.Print t1 - t2        '日期可以直接比大小或做運算
t3 = DateSerial(2014, 9, 7)
t4 = DateAdd('m', 1, #9/20/2014#)   '在原日期上加1月,2014/10/20
t5 = DateAdd('d', 1, #9/20/2014#)   '在原日期上加1天,2014/9/21
t6 = #9/20/2014# 1        '在原日期上加1天,2014/9/21
Debug.Print t3, t4, t5, t6
t7 = Year(t1)     '提取日期的年份
t8 = Month(t1)    '提取日期的月份
t9 = Day(t1)
d = Day(DateSerial(Year(t1), Month(t1) 1, 1) - 1)   '計算t1日期所在月有多少天
Debug.Print d
jgm = DateDiff('m', #7/20/2014#, #9/9/2014#)      '計算兩個日期間隔多少個月,這里7月和9月間隔2個月
Debug.Print jgm
End Sub

在VBA中,日期直接賦值的方式是#日期#,之間用“/”連接,日期可以直接加減數字,代表的是在當前日期加幾天或減幾天,兩個日期之間可以直接比較大小。

給日期變量賦值可以用DateSerial函數,其三個參數分別是年、月、日,這個函數在不能事先知道具體日期時可以用,其中的年、月、日三個參數可以是其他的變量,例如DateSerial(range('A1'),range('B1'),range('C1'))。

DateAdd函數可以在當前日期上直接加月數,比如DateAdd('m', 1, #9/20/2014#) 表示在2014年9月20日這個日期上加上1個月,參數“m”就是月的縮寫,加天數“m”變成“d”即可,當然加天數也可以在日期后直接加數字,效果是一樣的。

Year,Month,Day三個函數分別代表取日期的年、月、日的數字,Day(DateSerial(Year(t1), Month(t1) 1, 1) - 1)就是計算日期表示的這個月有多少天,就是用下個月1號減1得這個月最后一天,再用Day函數取出這個天數。

DateDiff可以計算兩個日期間隔多少個月或天,“m”代表月,“d”代表天。

在DateAdd和Datediff中不能直接計算年,因為一年是固定12個月,所以折算一下就好了。

再補充一個,當前日期是Date。

示例文件就不上了。

3
您可能也喜歡:

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。如發現有害或侵權內容,請點擊這里 或 撥打24小時舉報電話:4000070609 與我們聯系。

    猜你喜歡

    0條評論

    發表

    請遵守用戶 評論公約

    類似文章 更多
    喜歡該文的人也喜歡 更多

    vr赛车开奖官网