VBA Date與format:2個函數以特定格式顯示今天日期

VBA Date與format是兩個最常用的程式函數,可以傳回今天日期與現在時間,本文先介紹基本的語法,利用format進行日期格式轉換,補充如何設置開啟檔案自動顯示。

一、Now函數用法

MsgBox (“現在時間是:” & Now()):先前有介紹過MsgBox指令了,這裡比較特別是將兩個字串以「&」合併,這個跟Excel用法相同。另外這裡用了VBA函數Now(),作用是顯示系統日期時間。

Excel也有Now函數,作用是會傳回系統日期時間,所以剛好Excel和VBA都有Now函數,而且作用相同。不過VBA函數本身是獨立的體系,只是有少部份名稱和Excel相同,作用也相同,大部份VBA函數則是與Excel沒有關係。

一、Now函數用法

二、判斷現在時間

執行後成功顯示完整的日期及時間。

二、判斷現在時間

三、VBA Date與format

這裡的程式稍微複雜一些,但其實主要結構仍然不變,說明如下:

Dim T1 As Date, T2 As String:國中數學為了便於解題會設計x,y變數,VBA為了便於執行幾乎也都會設定變數。這裡Dim T1 As Date表示設定T1為日期型態變數,Dim T2 As String是將T2設定為文字型態。

T1 = Date:Date也是VBA函數,作用是傳回系統日期。VBA函數名稱所使用的英語算是專有獨占,所以Date和Date()是一樣的,也就是「()」可以省略,第一步驟中同樣是「Now」和「Now()」皆可,這一點VBA函數不同於Excel函數。

「T2 = Format(T1, “yyyymmdd”)」:VBA的Format函數作用接近於Excel的TEXT,可以轉換數值格式,這裡是將yyyy/mm/dd轉換成yyyymmdd,實際執行就會很清楚。

VBA Date與format:2個函數以特定格式顯示今天日期

四、顯示今天日期

執行程式,會先顯示「2020/8/20」。

四、顯示今天日期

五、日期格式yyyymmdd

接著顯示「20200820」,它正是來自於程式碼:「T2 = Format(T1, “yyyymmdd”)」,和上個步驟合起來可以瞭解Format函數的作用。

五、日期格式yyyymmdd

六、ThisWorkbook物件

左邊的專案視窗中,每個Project主要是一個Excel檔案,依照樹狀夾結構分為「Microsoft Excel物件」和「模組」。將游標移到「ThisWorkbook」連按兩次,表示想設計以這個活頁簿為對象的程式。

六、ThisWorkbook物件

七、Workbook_Open事件

進入「ThisWorkbook」物件之後,右邊的代碼視窗有兩個下拉選單,將左邊選單下拉,選擇「Workbook」,左邊下拉選單應該會自動變成是選擇「Open」的狀態,程式輸入區會自動生成「Private Sub Workbook_Open()…End Sub」在中間輸入「MsgBox (“現在時間是:” & Now())」這樣表示建立一個開啟活頁簿即執行的程式。關閉檔案後再開啟,應該會自動跳出第二個步驟的顯示時間對話方塊。

七、Workbook_Open事件

VBA日期格式轉換的應用

這篇文章的範例程式很簡單,其中涉及到VBA的變數、函數、事件,這三個區塊裡都還有很多其他的VBA可供使用學習的東西,例如除了日期和文字型態的變數,VBA還有整數、物件等變數。

讀者毋須著急要一次認識所有的變數型態,就跟Excel有很多指令函數一樣,實務應用上不會用到所有的指令函數,只要先知道大概有這種東西,隨著贊贊小屋VBA課程進行,自然會介紹到最常用最實用的工具,而且都有相關範例及練習,讀者循序漸進便會越來越清楚。

微軟說明文件:Date 函數

想要學習更多技巧嗎?歡迎前往VBA基本應用相關文章。

VBA基本應用

最新文章: