中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
【VBA研究】VBA中日期和時(shí)間相關(guān)的計(jì)算

作者:iamlaosong

    VBA中取當(dāng)前日期的函數(shù)是Date,當(dāng)前時(shí)間的函數(shù)是Time,當(dāng)前日期和時(shí)間一起取是Now。日期轉(zhuǎn)換成年月日的函數(shù)分別是:Year、Month、Day,參數(shù)可以用Date或Now取出的值。時(shí)間轉(zhuǎn)換成時(shí)分秒的函數(shù)分別是:Hour、Minute、Second,參數(shù)可以用Time或Now取出的值。

例如:

  MsgBox '當(dāng)前時(shí)間:' & Now & Chr(10) & _
           '時(shí):' & Hour(Now) & Chr(10) & _
           '分:' & Minute(Now) & Chr(10) & _
           '秒:' & Second(Now)
  MsgBox '當(dāng)前日期:' & Now & Chr(10) & _
           '年:' & Year(Now) & Chr(10) & _
           '月:' & Month(Now) & Chr(10) & _
           '日:' & Day(Now)

1、日期轉(zhuǎn)換

很簡(jiǎn)單,直接用轉(zhuǎn)換函數(shù)就可以了,例如:CDate('2012-12-31')

2、日期之間的天數(shù)

用datediff函數(shù),注意,工作表單元格中用的函數(shù)名稱是datedif,少了一個(gè)f,而且參數(shù)順序也不一樣。例如:

dt = Cells(2, 1)     ' 單元格內(nèi)容:2013-1-1 09:35:08

dd = DateDiff('D', CDate('2012-12-31'), dt)

其中的“D”也可以換成其他字母,比如“W”表示計(jì)算兩個(gè)日期之間周數(shù)。

日期之間的天數(shù)最簡(jiǎn)單的就是直接相減,如果日期中包含時(shí)間,則需要用datevalue轉(zhuǎn)換后才能計(jì)算,例如:

dt = Cells(2, 1)     ' 單元格內(nèi)容:2013-1-1 09:35:08

dd = DateValue(dt) - CDate('2012-12-31')

實(shí)際上,DateValue函數(shù)的值就是被轉(zhuǎn)換日期距1900-1-1的天數(shù)加1,也就是說(shuō)日期1900-1-1的DateValue函數(shù)值就是1,在此日期之前的日期Excel是不認(rèn)的。

3、時(shí)間差計(jì)算

時(shí)間差計(jì)算一般用TimeValue()函數(shù)將時(shí)間轉(zhuǎn)換成時(shí)間值,然后計(jì)算。例如:

dt2 = Cells(2, 1)     ' 單元格內(nèi)容:2013-1-1 09:35:08

dt3 = Cells(3, 1)     ' 單元格內(nèi)容:2013-1-1 11:55:18

interval=TimeValue(dt3)-TimeValue(dt2)

TimeValue的值在0-1之間,表示0-24小時(shí),實(shí)際上就是當(dāng)前時(shí)間占24小時(shí)的比例。利用這個(gè)值可以干很多事,例如,用時(shí)間值乘以24再取整就是時(shí)間從0點(diǎn)開(kāi)始的小時(shí)值,乘以24*60再取整就是時(shí)間從0點(diǎn)開(kāi)始的分鐘值,乘以24*60*60就是時(shí)間從0點(diǎn)開(kāi)始的秒值。再比如,以10分鐘作為間隔,一天的間隔數(shù)就是144,那么任意一個(gè)時(shí)間值乘以24*6再取整就得到從0點(diǎn)開(kāi)始這個(gè)間隔的數(shù)量。

注意:TimeValue的數(shù)據(jù)類(lèi)型是Single,如果單元格中只輸入時(shí)間,也是給Single類(lèi)型變量賦值。例如:

tt = Cells(2, 1)     ' 單元格內(nèi)容:12:00:00,賦值后tt的值是0.5

我們計(jì)算兩個(gè)時(shí)間差,也就是計(jì)算兩個(gè)浮點(diǎn)數(shù)之差,比如程序的運(yùn)行時(shí)間,將這個(gè)差值乘以24就是時(shí)間差以小時(shí)為單位,乘以24*60就是以分為單位,乘以24*60*60就是以秒為單位。

時(shí)間之間的也可以直接相減,但數(shù)據(jù)類(lèi)型必須正確,效果和使用TimeValue函數(shù)一樣。

4、關(guān)于取整

INT(12.56)=12:直接取整數(shù)部分,CInt(12.56)=13:小數(shù)部分四舍五入;

Ceiling(12.56,1)=13:向上進(jìn),只要有小數(shù),整數(shù)部分都加1,Ceiling(12.05,1)=13,當(dāng)然,這個(gè)函數(shù)功能比較強(qiáng)大,取整只是一個(gè)應(yīng)用;

round(12.56,0)=13:小數(shù)部分四舍五入,同樣,該函數(shù)有兩個(gè)參數(shù),取整只是一個(gè)應(yīng)用。

5、關(guān)于Round函數(shù)進(jìn)行四舍五入

Round函數(shù)進(jìn)行四舍五入并不是逢5就入,例如:round(0.5)=0、 round(1.5)=2 、 round(2.5)=2 、round(3.5)= 4 、round(4.5)=4 ,難到還分奇偶?答案是確實(shí)分奇偶,在VBA中Round函數(shù)是采用“銀行家舍入”,建議大家在VBA中慎重使用Round函數(shù)來(lái)四舍五入。什么是“銀行家舍入”呢,定義如下:

四舍六入五考慮,五后非零就進(jìn)一,五后為零看奇偶,五前為偶應(yīng)舍去,五前為奇要進(jìn)一”。這個(gè)四舍五入法是一個(gè)國(guó)際標(biāo)準(zhǔn),大部分的編程軟件都使用的是這種方法,據(jù)說(shuō)國(guó)際上一般都是用這種方法的。

如果在Excel VBA中進(jìn)行四舍五入處理,也可以直接調(diào)用Excel工作表函數(shù),達(dá)到直接四舍五入的目的Application.Round(A,B)


 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
當(dāng)“.”后數(shù)字超過(guò)2個(gè),你一定要擦亮眼睛...
如何在“Excel”表格中使用四舍五入的絕對(duì)值“ROUND”函數(shù)公式_ _學(xué)習(xí)園地_平昌縣...
如何在excel中根據(jù)出生年月自動(dòng)計(jì)算出年齡?進(jìn)入新學(xué)年后如何快速更新年齡? - jame...
來(lái)一組簡(jiǎn)單易懂的函數(shù),學(xué)習(xí)一下!
8個(gè)常用函數(shù)
VBA系列講座(7):如何在Excel里使用定時(shí)器
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服