今日的內容是“VBA之EXCEL應用”的第十章“VBA中日期和時間的處理”。這講是第2節“當前日期和時間、時間函數以及時間值”。這套教程從簡單的錄製宏開始講解,一直到窗體的搭建,內容豐富,案例眾多。大家可以非常容易的掌握相關的知識,這套教程面向初學人員,共三冊,十七章,都是我們在利用EXCEL工作過程中需要掌握的知識點,希望大家能掌握利用。
第二講 當前日期和時間、時間函數以及時間值
大家好,我們這講講解日期和時間的獲得,以及時間函數的應用,時間值的概念。這些都是我們平時工作中經常會用到的,有必要對這些知識點進行詳細的學習。
1 NOW函數
要獲得當前日期和時間,可以使用Now函數。這個函數返回一個Variant(Date), 它根據計算機的系統日期和時間指定當前日期和時間。
語法:Now
示例應用:Today = Now
2 Hour, Minute, Second函數
1)Hour 函數 返回指定表示一天的小時的 0 到 23 之間(含這兩個值)的整數的變量(整數)。
語法:Hour(time)
參數:time是必須的是任何可表示時間的變量、數值表達式、字符串表達式或任何組合。 如果“time”為 Null,則返回“Null”。
2)Minute 函數 返回指定介於 0和59之間(含 0 和59)的一個整數的 Variant (Integer),代表分鐘數。
語法:Minute(time)
參數:time是任何可表示時間的變量、數值表達式、字符串表達式或任何組合。如果“時間”為 Null,則返回“Null”。
3)Second 函數 返回某Variant (Integer),指定0到59之間的整數(其中包含 0、59 這兩個數)用於代表一分鐘內的秒數。
語法:Second(time)
參數:time是任何可表示時間的變量、數值表達式、字符串表達式或任何組合。如果“時間”為 Null,則返回“Null”。
3 TimeValue 函數
這個函數返回包含時間的 Variant (Date)。這個函數將字符串轉換為時間序列號。時間的序號是一個0到1之間的數字。例如,正午(一天的一半)表示為0.5。
語法:TimeValue(time)
參數:time 必需的,通常是一個字符串表達式, 表示從0:00:00(12:00:00A.M.)到23:59:59 (11:59:59 P.M.)的時間(包括這兩個時間)。但是,time也可以是表示該範圍內時間的任意表達式。如果 time 包含 Null,則返回 Null。
- 可以使用12小時制或24小時制輸入有效的時間。例如, "2:24PM"和"14:24"都是有效的time參數。
- 如果time參數包含日期信息,則TimeValue不返回該信息。但是,如果 time 包括無效日期信息,則會出現錯誤。
4 時間函數的應用實例
為了更好地理解時間函數,我們看下面的實例,代碼:
Sub mynzA()
MsgBox "現在的時間是:" & Now
MsgBox "現在的時間的小時數是:" & Hour(Now)
MsgBox "現在的時間的分鐘數是:" & Minute(Now)
MsgBox "現在的時間的秒數是:" & Second(Now)
MsgBox TimeValue("9:20:01 am")
Dim y As Double
y = TimeValue("9:20:01 am")
MsgBox "TimeValue(" & "9:20:01 am" & ")的值為: " & y
y = TimeValue("12:00:00")
MsgBox "TimeValue(" & "12:00:00" & ")的值為: " & y
End Sub
代碼截圖:
代碼截圖:
1)MsgBox "現在的時間是:" & Now 這行代碼將提示用戶系統當前的Now是日期+時間,如下運行結果:
2)MsgBox "現在的時間的小時數是:" & Hour(Now) 這句代碼提示用戶當前的小時數:
3) MsgBox "現在的時間的分鐘數是:" & Minute(Now)
4) MsgBox "現在的時間的秒數是:" & Second(Now)
5) MsgBox TimeValue("9:20:01 am") 這句代碼提示用戶TimeValue("9:20:01 am")的結果。
6) Dim y As Double
y = TimeValue("9:20:01 am")
MsgBox "TimeValue(" & "9:20:01 am" & ")的值為: " & y
以上代碼提示一個 Double數據類型的TimeValue值:
7) y = TimeValue("12:00:00")
MsgBox "TimeValue(" & "12:00:00" & ")的值為: " & y
以上代碼提示一個 Double數據類型的TimeValue值:
今日內容迴向:
1) NOW函數的作用是什麼?
2) TimeValue函數的作用是什麼?
3) 如何獲取時間的小時數,分鐘數,秒數?
本講內容參考程序文件:工作簿10.xlsm
分享成果,隨喜正能量
VBA的應用及學習方法:
VBA是利用Office實現個人小型辦公自動化的有效手段(工具)。這是我對VBA的應用界定。在取代OFFICE新的辦公軟件沒有到來之前,誰能在數據處理方面做到極致,誰就是王者。其中登峰至極的技能非VBA莫屬!
我記得20年前自己初學VBA時,那時的資料甚少,只能看源碼自己琢磨,真的很難。20年過去了,為了不讓學習VBA的朋友重複我之前的經歷,我根據自己多年VBA實際利用經驗,推出了七部VBA專門教程。
第一套:VBA代碼解決方案 是VBA中各個知識點的講解,教程共147講,覆蓋絕大多數的VBA知識點,提供的程序文件更是一座不可多得的代碼寶庫,是初學及中級人員必備教程;目前這套教程提供的版本是修訂第二版,程序文件通過32位和64位兩種OFFICE系統測試。
第二套:VBA數據庫解決方案 數據庫是數據處理的專業利器,教程中詳細介紹了利用ADO連接ACCDB和EXCEL的方法和實例操作,適合中級人員的學習。目前這套教程提供的是修訂第一版教程,程序文件通過32位和64位兩種OFFICE系統測試。
第三套:VBA數組與字典解決方案 數組和字典是VBA的精華,字典是VBA代碼水平提高的有效手段,值得深入的學習,是初級及中級人員代碼精進的手段。目前這套教程提供的版本是修訂第一版,程序文件通過32位和64位兩種OFFICE系統測試。
第四套:VBA代碼解決方案之視頻 是專門面向初學者的視頻講解,可以快速入門,更快的掌握這門技能。這套教程是第一套教程(修訂一版)的視頻講解,視頻更易接受。
第五套:VBA中類的解讀和利用 這是一部高級教程,講解類的虛無與肉身的度化,類的利用雖然較少,但仔細的學習可以促進自己VBA理論的提高。這套教程的領會主要是讀者的領悟了,領悟一種佛學的哲理。目前這套教程提供的版本是修訂第一版,程序文件通過32位和64位兩種OFFICE系統測試。
第六套教程:VBA信息獲取與處理,這是一部高級教程,涉及範圍更廣,實用性更強,面向中高級人員。教程共二十個專題,包括:跨應用程序信息獲得、隨機信息的利用、電子郵件的發送、VBA互聯網數據抓取、VBA延時操作,剪切板應用、Split函數擴展、工作表信息與其他應用交互,FSO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定製工作表信息函數等等內容。程序文件通過32位和64位兩種OFFICE系統測試。
第七套教程:VBA之EXCEL應用 這是一部初級教程這部教程共三冊,從從創建宏、對話框、工作簿和工作表對象、單元格對象等基礎內容講起,到循環結構、錯誤處理、字符串操作、日期和時間、事件、數組應用,函數過程等方面,一直講解到控件和窗體對象的應用都是我們提高自己EXCEL水平的必須。
以上各教程學習順序:7→1(或者4)→3→2→6→5。其中第四套是對第一套的視頻講解,所以第一和第四隻選其一即可。