今日的內容是“VBA之EXCEL應用”的第十章“VBA中日期和時間的處理”。這講是第5節“求兩個日期間隔的函數”。這套教程從簡單的錄制宏開始講解,一直到窗體的搭建,內容豐富,案例眾多。大家可以非常容易的掌握相關的知識excel中計算兩個日期差,這套教程面向初學人員,共三冊,十七章,都是我們在利用EXCEL工作過程中需要掌握的知識點,希望大家能掌握利用。
第五節 求兩個日期間隔的函數
大家好,我們這講講解的內容是求兩個日期期間的間隔,Excel VBA中的函數可以用來獲取兩個日期之間的天數。在之前的講解的是可以求給定日期間隔后的日期,而是求這個兩個日期的間隔,大家要注意理解。
1 函數
這個函數返回一個 (Long),指定兩個指定的日期之間的時間間隔數。
語法:(, date1, date2, [ , [ ]] )
參數:
1)必需。表示用于計算 date1和date2之間差異的時間間隔的字符串表達式。
2)date1、date2 必需; (Date)。要在計算中使用的兩個日期。
3) 可選。 指定一周的第一天的常量。 如果未指定,則會假定為星期日。
4) 可選。 指定一年的第一周的常量。 如果未指定,則會假定1月1日出現的那一周為第一周。
參數具有以下設置:
yyyy 年
q季度
m月
y每年的某一日
d天
w工作日
ww 周
h小時
n分鐘
s秒
參數具有以下設置:
0 使用 NLS API 設置。
1 周日(默認)
2 星期一
3 星期二
4 星期三
5 星期四
星期五
7 星期六
參數具有以下設置:
使用 NLS API 設置。
從 1 月 1 日所在的周開始(默認)。
從至少包含新的一年中的四天的那一周開始。
從每年的第一個完整的星期開始。
2 函數的應用實例
下面我們看一段代碼,來學習一下這個函數的實際應用:
Sub mynzD() '求兩個日期間隔的函數
Dim myF, myS As Date
myF = ("Jan 19, 2020")
myS = ("Feb 25, 2020")
n = ("d", myF, myS)
n
End Sub
代碼截圖:
代碼解讀:
上述代碼先聲明了一個變量myF,賦值為("Jan 19, 2020"),然后再賦值 ("Feb 25, 2020")給第二個變量myS,然后利用求出上述兩個變量的日期差值n,最后利用對話框提示給用戶。
我們看代碼的運行結果:
表明上述兩個日期差37天。
3 利用 函數求出生的天數
下面我們再看一下這個函數的應用,我們可以輸入一個日期,然后求出這個日期和當日日期的差值,比如,我們錄入的是自己的生日excel中計算兩個日期差,這樣就可以求出自己來到這個世界一共多少天了。
代碼:
Sub mynzE() '求出生的天數
Dim As Date
= ("請輸入一個日期")
Msg = "您輸入的日期和今天相隔的天數是: " & ("d", Now, )
Msg
End Sub
代碼截圖:
代碼講解:
上述代碼利用了函數讓用戶錄入一個日期,需要注意的是我們利用了變量來存儲這個日期,但這個變量我們聲明的是Date類型,要注意錄入的信息要正確。
在隨后我們會利用函數求出這個日期和now的日期差值。
下面我們看代碼的運行結果:假如你的生日是1969-10-1日,我們看看你在這個世界上生活的天數:
上述結果顯示,一共是18648天。
今日內容回向:
1) 函數的作用是什么?
2) 如何利用函數求出兩個日期差?
3) 如何利用函數求出某人的出生日期?
本講內容參考程序文件:工作簿10.xlsm