VBA教學:Function用法介紹,如何自定義Excel日期函數

VBA設計程式時跟Excel一樣必須善用各種函數,本文以日期函數為例,介紹VBA函數用法,進而說明如何利用Function自定義函數,讓Excel可以直接用公式得到民國年度。

一、Excel日期函數

Excel函數非常好用,例如TODAY這個函數可以傳回今天的日期,它是比較特別、不需要任何參數,想要進一步瞭解這個函數,可以叫出「函數引數」視窗的參考說明。另外將TODAY和YEAR這兩個函數組合,便是目前的年份,注意到它是西元的年份。

關於Excel如何輸入函數公式的技巧,可以參考贊贊小屋相關文章

VBA教學:Function用法介紹,如何自定義Excel日期函數 1

二、VBA函數用法

函數不僅僅是Excel才有,其實大部分程式語言都有函數,VBA當然也不例外。在此設計一行簡單的程式碼,其中VBA的Date函數作用和Excel的Today一樣都是傳回今天日期,另外在程式還用到了VBA指令vbNewLine進行換行,並且還設計了MsgBox和 Format進行文字訊息視窗顯示及格式轉換。

關於Excel如何進入VBA編輯器,開始設計並執行程式,可以參考贊贊小屋相關文章

一張含有 文字 的圖片

自動產生的描述

三、MsgBox視窗

執行程式,果然在Excel會跳出視窗顯示今天的日期,對照上個步驟程式碼應該會更加瞭解程式的語法結構。

VBA教學:Function用法介紹,如何自定義Excel日期函數 4

四、VBA Function

VBA除了使用既有函數之外,還能建立自定義函數,它是使用Function結構語法進行設定。例如這裡很簡單的設計一個「今天是」的函數,這裡的VBA自定義函數相對簡單,和本文第一個步驟所看到的TODAY一樣,不需要任何的參數便會計算出或者說是傳回今天的日期,並且Function自訂函數可以在VBA程式本身被使用,例如這裡再設定了一個MsgBox,它要顯示的文字就是VBA自定義函數所算出來的今天日期。

一張含有 文字 的圖片

自動產生的描述

五、Excel自訂函數

VBA所設計的函數不但是在VBA程式中引用,在Excel也可以使用VBA自定義函數,用法就跟使用一般函數相同,因此截圖所看到的不僅是執行上個步驟程式跳出文字訊息視窗,而且在Excel還直接使用VBA函數得到今天日期,公式為「=今天是()」。

一張含有 文字 的圖片

自動產生的描述

六、If判斷語句

Excel函數通常會有參數,而在VBA也可以設定參數。例如在此設計一個自定義函數:「Function 今年是(參數)」,括號裡面代表有一個參數,接著在Function內部設計程式,參數值是1的話要利用Date和Year先得到今年的西元年度,再經過簡單的計算得到民國年度,如果參數不是1的話,傳回原本的西元年度。

一張含有 文字 的圖片

自動產生的描述

七、民國年度函數

在Excel驗證上個步驟所設計的VBA自定義函數,果然依照不同的參數值,分別得到了民國年度跟西元年度。

一張含有 桌 的圖片

自動產生的描述

Excel函數及VBA Function

本篇文章一開始提到Excel函數非常好用,而如同操作步驟所看到的,VBA程式設計可以進一步創造自定義函數供Excel使用,如此等於如虎添翼,讓Excel在工作中運用時更加的得心應手。

每天學習,每天充電:VBA自動化文章合輯

VBA教學:Function用法介紹,如何自定義Excel日期函數 10
歡迎加入Line社群,口袋裡的VBA小教室!
Ask ChatGPT
Set ChatGPT API key
Find your Secret API key in your ChatGPT User settings and paste it here to connect ChatGPT with your Tutor LMS website.