常用start_Excel VBA 基础(02.7) - 常用函数 第二部分
上期代碼。今天是又農歷春節,首先祝愿大家新春快樂!圣誕跟春節都不能阻擋更新的日常。
上期練習介紹了Excel中的隨機模式。代碼本身并沒有什么疑難之處。關于 字典(dictionary) 這種數據結構我們之后會有詳細介紹,此處初步了解即可。請親手敲一遍代碼。
今天把其他常用函數說完。
請看 對象瀏覽器 中 DateTime 模塊
其中 重點掌握 DateSerial
Function DateSerial(Year As Integer, Month As Integer, Day As Integer)三個參數分別為年、月、日。請注意,月、日的參數可以為零或負數。
例如,
DateSerial(2018, 2, 0)表示2018年1月31日。 注意此種技巧。
另一個函數 weekday 取得對應日期的星期數,默認第一天為周日
Function Weekday(Date, [FirstDayOfWeek As VbDayOfWeek = vbSunday])取得當天星期數可以采用下列方法
? weekday(date,vbMonday)date為返回當前系列日期的方法, vbMonday 將周一設定為每周第一天 。 同理,now返回當前系統時間。
例子 2.7.1 發薪日為每月最后一個周五, 函數簽名為
Private Function payDay(ByVal y As Integer, ByVal m As Integer) As Date參數y為年, m為月,返回值為該月發薪日
Private Function payDay(ByVal y As Integer, ByVal m As Integer) As Date' 最后一天Dim d As Date' 星期數Dim wd As Integerd = DateSerial(y, m + 1, 0)wd = Weekday(d, vbMonday)' 星期數與對應天數關系' 1-> -3 2-> -4 3-> -5 4 -> -6 5 -> 0 6 -> -1 7-> -2payDay = DateAdd("d", IIf(wd >= 5, 5 - wd, -2 - wd), d)End Function代碼本身沒有什么難度, DateAdd可以查看API, 其實也可以寫成
payDay = DateAdd("d", IIf(wd >= 5, 5 - wd, -2 - wd), d)兩代碼功能相同
payDay = DateSerial(y, m + 1, IIf(wd >= 5, 5 - wd, -2 - wd))再來看Information模塊
主要是用來判斷參數類型 的Is-類函數
之前我們已經用過isArray, isEmpty 其他函數我們在后續項目中進行介紹,由于用法極其簡單目前只需了解。
最后說一下Conversion轉換模塊
用于不同數據類型之間轉換,常用的如cDbl轉換為雙精度Double, cInt轉為整型Int, cDate轉為日期Date,轉字符串一般直接用 "" & 也可以采用Cstr。
以上是VBA常用內置函數的全部內容,以上這些函數適用于所有Office產品。也就是說只要不涉及Excel特定的對象模型,在Excel VBA 下編寫的程序可以完美兼容于其他Office程序。
從下一期開始,我們將開始系統介紹 對象模型的屬性和方法。對于函數以及流程控制部分的示例程序請大家再動手試試。我們掌握知識越多,對于以前的知識或許會有一種新的認識,對程序編寫的直覺感也就越強烈。其實編程到最后就是一種肌肉記憶。
有任何問題請在下方留言。
本專欄所有文章著作權歸屬本人。未經本人書面許可,除知乎日報外,任何人不得轉載。
總結
以上是生活随笔為你收集整理的常用start_Excel VBA 基础(02.7) - 常用函数 第二部分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小店铺适合做什么生意 推荐一些对技术
- 下一篇: 年底离职还是年初离职好 想换个新环境的要