Board logo

標題: DatePart 的判斷式 [打印本頁]

作者: MRSA    時間: 2010-10-7 16:31     標題: DatePart 的判斷式

A1 內容為 2010/25/25
我以下列陳述式來判斷A1的月份是否為正確格式
    If IsError(DatePart("m", Range("A1"))) = False Then
    MsgBox ("程式即將中斷.")
    End If
結果程式無法執行, 我以下列陳述式來驗證 Datepart("m", Range("A1")) 是否能執行,
MsgBox DatePart("m", Range("A2"))
結果得到 Type mismatch 的錯誤訊息.
又當我把A1的內容刪除時(呈現空白欄位),我再以下列陳述式驗證是否能取得數值,
MsgBox DatePart("m", Range("A2"))
結果傳回 12
照理說,空白的欄位不是沒有資料嗎,為何會取得12的數值?
是否有方法能在截取A1內的月份數字後,當格式不對時或是A1欄位空白時,能帶出文字方塊(MsgBox)?
正確來說,由A1所得到的結果只有13個, 從1~12 以及一個當格式錯誤或欄位空白時所能帶出文字方塊的值.
作者: Hsieh    時間: 2010-10-7 18:08

  1. Sub nn()
  2. If IsDate([A1].Value) Then
  3. MsgBox Month([A1])
  4. Else
  5. MsgBox "Err"
  6. End If
  7. End Sub
複製代碼
不過如果輸入數值1~2958465
1900 年 1 月 1 日(數值為1)(如果使用 1904 年日期系統,則為 1904 年 1 月 1 日)
9999 年 12 月 31 日(數值為2958465)
在此之間的數值也會被認為是日期
作者: MRSA    時間: 2010-10-8 01:17

謝謝...
這下變成日期系統的問題了.=   =||||




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)