我有一列日期。這些將被合併到對象中,每行一個,以及該行中的其他數據。是否存在Date變量類型的默認值的常量,字符串類型是la vbNullString?
但是,日期列中的一些單元格爲空。在我測試時,我創建了一個日期變量並將其值設置爲空單元格的值。我msgbox'd日期的新值,發現它是「上午12:00」。有沒有內置VBA來表示該值恆定的,所以我可以做類似的測試:
If myDate = vbNullDate Then
我有一列日期。這些將被合併到對象中,每行一個,以及該行中的其他數據。是否存在Date變量類型的默認值的常量,字符串類型是la vbNullString?
但是,日期列中的一些單元格爲空。在我測試時,我創建了一個日期變量並將其值設置爲空單元格的值。我msgbox'd日期的新值,發現它是「上午12:00」。有沒有內置VBA來表示該值恆定的,所以我可以做類似的測試:
If myDate = vbNullDate Then
安迪holaday在問題下面的評論說,日期的默認值就是0.我傻:/
爲本地日期變量的缺省值似乎是:
Saturday, December 30, 1899 12:00:00 AM
基於此過程:
Sub testdate()
Dim d As Date
Debug.Print Format$(d, "Long Date") & " " & Format$(d, "Long Time")
End Sub
要檢查任何變量類型的默認值,只需聲明該類型的變量,然後打印它的值。
Sub testint()
Dim d As Integer
Debug.Print d
End Sub
我偶爾遇到這個問題。我通常做到以下幾點:
dim d as date
if d = cdate(0) then msgbox "Default value"
在這種情況下,常數僅爲零。 –
謝謝安迪,沒有意識到它就是這麼簡單 – Swiftslide
你應該注意到Excel/VBA與其他程序不同,因爲它實際上並沒有'DateTime'數據類型。相反,它使用'double'數據類型來存儲日期/時間,並將它們格式化爲屏幕上的日期。 – Brad