2016-11-18 69 views
0

我正在使用VBA將日期輸入捕獲到單元格中。我遇到的問題是,如果單元格爲空白,VBA將其讀取爲12:00:00 AM,因此VBA中的ISDATE()函數將其視爲日期,但由於代碼不是實際日期,因此代碼被炸燬。什麼VBA語法可以actaully檢查以確認單元格包含DATE?忽略Excel中日期時間單元格的時間

這是我目前的語法

Sub IsDate() 
Dim d1 As Date 

d1 = CDate(Range("A1").Value) 

If IsEmpty(Range("A1")) = False Then 
    If IsDate(d1) = True Then 
     'Continue 
    End If 
End If 

回答

0

IsEmpty(Range("A1"))會給你不一致的結果使用Range("A1").Value <> ""

在內置VBA方法後不要命名您的子例程例如Sub IsDate()將覆蓋VBA方法並造成嚴重破壞。

enter image description here

Sub TestIsDate() 

    Dim d1 As Date 
    If Range("A1").Value <> "" And IsDate(Range("A1").Value) Then 
     d1 = CDate(Range("A1").Value) 
    End If 

End Sub 
相關問題