了解 Excel VBA IsDate 函數

VBA 的 IsDate 函數可以告訴您文本字符串是否可以解釋為日期。例如,以下所有表達式的計算結果為 True:

IsDate(“5/25/2015”)
IsDate(“1 月 16 日”)
IsDate(“12-1”)
IsDate(“12/1/15”)
IsDate(“2/30”)
IsDate(“30/2”)

在最後兩個示例中,請注意 IsDate 對日和月的順序並不挑剔。這兩個字符串都可以解釋為日期,因此 IsDate 返回 True(無論您的系統日期格式設置如何)。

以下是Microsoft 支持文章中的一些信息:

VBA 日期函數 IsDate、Format、CDate 和 CVDate 使用 OLE 自動化 (OleAut32.dll) 中的函數。此函數通過標記表示日期的字符串中的每個分隔值來搜索所有可能的日期格式,並返回一個布爾值,指示輸入是否可以表示為日期。

在使用該函數來解釋包含 2 位數年份的日期時,記住這一點很重要。不同的語言環境使用不同的日期格式(即 mm/dd/yy、yy/mm/dd、DD MMM YY YY MMM DD 等),因此該函數會嘗試所有位置的數字,直到函數已找到有效日期或已用盡所有可能性。

僅僅因為 IsDate 將字符串識別為日期並不意味著該字符串可以可靠地轉換為日期。在某些情況下,結果是模棱兩可的。例如,這個表達式呢?

IsDate(“29-Feb-01”)

2001 年 2 月 29 日不是有效日期。但是,此表達式返回 True,因為 1929 年 2 月 1 日(和 1929 年 1 月 2 日)是有效日期。2029 年的那些日期也是如此。

對 IsDate 文檔的搜索是空的。根據測試,IsDate 接受以下任何字符作為分隔符:斜線 (/)、連字符 (-)、逗號 (,)、點 (.) 和空格。

因此,以下表達式都返回 True:

IsDate(“5.1”)
IsDate(“30 6”)
IsDate(“30,6”)
IsDate(“1/2”)

但隨後出現了異常:以下表達式返回 True:

IsDate(“5.1.5”)
IsDate(“5.1.05”)

然而,這個表達式不明確地返回 False:

IsDate(“5.1.2005”)

假設您創建了一個帶有 InputBox 的用戶窗體,用戶可以在其中輸入日期。應該清楚的是,使用 IsDate 來驗證條目不是很可靠。

當您意識到 IsDate 也涵蓋時間值時,事情會變得更加混亂。(沒有對應的 IsTime 函數。)所以,下面的表達式都返回 True:

IsDate(“4:45”)
IsDate(“4.45”)
IsDate(“4 45”)
IsDate(“4/45”)
IsDate(“23:59”)

這些表達式返回 False:

IsDate(“4:60”)
IsDate(“24.45”)

需要指出的是,當您傳遞 Range 參數時,IsDate 並沒有表現出所有這些怪癖。例如:

IsDate(範圍(“A1”))

似乎 IsDate 在識別包含日期或時間的單元格方面非常可靠。例如,它不會將包含 5.1 的單元格標識為日期。如果您的代碼需要確定一個字符串是否可以解釋為日期,最好的解決方案是將該字符串放入一個單元格中,然後編寫代碼來檢查單元格內容。


智能表9.1.1

智能表9.1.1

Smartsheet 是一個動態工作平台,可讓您管理專案、建立工作流程以及與團隊合作。

共享點

共享點

SharePoint 是一個基於 Web 的協作系統,它使用各種工作流程應用程式、「清單」資料庫和其他 Web 元件以及安全功能來控制業務群組的協同工作。

萬年曆1.0.38/1.0.36

萬年曆1.0.38/1.0.36

萬年日曆是一款手機上的日曆檢視應用程式,可協助您在手機上快速查看陰陽日期,從而安排您的重要工作。

微軟 Outlook 2021

微軟 Outlook 2021

Microsoft Outlook 是由 Microsoft Corporation 開發的商業和生產力應用程式。

點擊按鈕

點擊按鈕

ClickUp 是所有企業評價最高的生產力平台之一。Google、Booking.com、San Diego Padres 和 Uber 等大型企業都使用 ClickUp 來提高工作效率。

PDF-XChange 檢視器 2.5.322.10

PDF-XChange 檢視器 2.5.322.10

PDF 已成為閱讀、建立和傳送文字文件的常用格式。反過來,用於此類文件的程式數量也有所增加。PDF-XChange Viewer 是數量不斷增長的 PDF 檢視器之一。

阿帕契開放辦公室

阿帕契開放辦公室

Apache OpenOffice 提供了一整套可與 Microsoft 365 競爭的 Office 應用程序,尤其是 Excel、PowerPoint 和 Word。它允許您更有效地管理您的項目,並支援多種文件格式。

下載 iTaxviewer 1.8.7

下載 iTaxviewer 1.8.7

iTaxViewer軟體是當今最受歡迎的XML檔案讀取軟體。該軟體是用於讀取稅務總局 XML 格式電子報稅單的應用程式。

硝基 PDF 閱讀器

硝基 PDF 閱讀器

Nitro PDF Reader 是一款方便的 PDF 編輯器,涵蓋了大多數人每天使用 PDF 文件執行的所有基本任務。

福昕閱讀器12

福昕閱讀器12

Foxit Reader主要是一個PDF閱讀器,還允許您建立PDF文件、對其進行簽名、編輯以及添加註釋。它適用於作業系統,有 Microsoft Office 軟體包中各種程式的插件。