Excel VBA 编程基础 — 语句(四)- 条件语句
Dim wkDay As ByteDim wkDayName As String * 3wkDay = Day(Date) Mod 7Seelct Case wkDayCase 1wkDayName = "星期天"Case 2wkDayName = "星期一"Case 3wkDayBane = "星期二"Case 4wkDayName = "星期三"Case 5wkDayName = "星期四"Case 6wkDayName = "星期五"Case 0wkDayName = "星期六"Case ElsewkDayName = "未知"End SelectDebug.Print "今天是" & wkDayName
-
数据类型:VBA 中,日期的数据类型用 Date 表示 -
日期函数:同时 Date 还是一个日期函数,用来获取当前系统日期
Dim cd As Datecd = DateDebug.Print "Today is " & cd
-
Dim wkDay As Byte:一周 7 天,所以表示星期几是一个 0 到 6 之间的数,因此将变量 wkDay 声明为一个 Byte 类型就足以表示一周 7 天了。 -
Dim wkDayName As String * 3:用文字表示星期几,3 个汉字就够了,因此将变量 wkDayName 声明为一个长度为 3 的定长字符串即可。当然 wkDayName 也可以声明为变长字符串类型。
-
如果低阶类型足以表示变量的值域,尽量声明为低阶类型。譬如,wkDay 当然可以声明为 Integer 或 Long 甚至 LongLong 类型,这样声明,除了浪费内存空间之外别无意义,声明为 Byte 类型足矣。 -
变量名称尽量取得有意义。你当然可以用 n 或 d 或随便其他什么名称来命名,但取名 wkDay 和 wkDayName,变量名称就足以说明该变量的意义与用途,无需再另加注释说明。这称为代码的“自文档化”(self-documenting)。
wkDay = Day(Date) Mod 7
Select Case wkDayCase 1wkDayName = "星期天"Case 2wkDayName = "星期一"...Case ElsewkDayName = "未知"End Select
Dim wkDay As ByteDim wkDayName As StringwkDay = Day(Date) Mod 7If wkDay = 1 ThenwkDayName = "星期天"ElseIf wkDay = 2 ThenwkDayName = "星期一"ElseIf wkDay = 3 ThenwkDayName = "星期二"ElseIf wkDay = 4 ThenwkDayName = "星期三"ElseIf wkDay = 5 ThenwkDayName = "星期四"ElseIf wkDay = 6 ThenwkDayName = "星期五"ElseIf wkDay = 0 ThenwkDayName = "星期六"ElsewkDayName = "未知"End IfDebug.Print "今天是" & wkDayName
夜雨聆风