返回列表 上一主題 發帖

[發問] 請問此兩句語法有何差別???

[發問] 請問此兩句語法有何差別???

If Format(Now, "hh:mm:ss") = "13:24:22" Then   ........
If TimeValue(Now) = TimeValue("13:24:22 ") Then  ........

If Format(Now, "hh:mm:ss") = "13:24:22" Then   ........
If TimeValue(Now) = TimeValue("13:24:22 ")  ...
t8899 發表於 2013-10-2 19:44

在 即時運算視窗中打上 :
?TypeName(Format(Now, "hh:mm:ss"))
會得到  String

?TypeName(TimeValue("13:24:22 ") )
會得到  Date

所以兩式中做比較的資料格式是不同的,
字串與日期的大小比較在某些情形下結果會不同,

TOP

在 即時運算視窗中打上 :
?TypeName(Format(Now, "hh:mm:ss"))
會得到  String

?TypeName(TimeValue ...
luhpro 發表於 2013-10-2 23:46


此兩句掛在 Private Sub Worksheet_Calculate() 裡
判斷系統時間,那一句會比較適當?

TOP

回復 3# t8899
雖然實際使用上可能看不出差異,
但我還是建議用 TimeValue("") 因為它是採用 Date (or Time) 格式.

TOP

此兩句掛在 Private Sub Worksheet_Calculate() 裡
判斷系統時間,那一句會比較適當?
t8899 發表於 2013-10-3 06:19

我也認同 luhpro 大大的說詞:
If TimeValue(Now) = TimeValue("13:24:22 ") Then  ........
使用 Date 型態做資料比對 (Compare) 會比使用字串比對來得適當、且較不易出錯。

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題