您目前已離線,請等候您的網際網路重新連線

巨集內傳回的日期是四年過早

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:157035
本文已封存。本文係以「現狀」提供且不會再更新。
徵狀
當您執行從工作表儲存格巨集所傳回的日期使用日期的巨集可能是四年和一個日期早於實際日期。
發生的原因
巨集傳回的日期也就是 4 年又 1 天稍早當您選取 [1904 年日期系統中 [選項] 對話方塊的 [計算] 索引標籤,並其中一種下列情況成立時,則為 True:

  • 巨集時它會儲存日期,請使用 Value2 屬性。 -或者-

  • 當它會儲存日期巨集在 Microsoft Excel 應用程式媒體櫃中使用函式。
其他可行方案
下列巨集判定 1904 年日期系統是否已選取、 將日期轉換為 1900 年日期系統,並傳回預期的日期。

Microsoft 僅,為了說明提供程式設計範例,不提供任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已熟悉使用我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能,但它們不會修改這些範例以提供附加功能或建構程序,以符合您特定需求。若要將巨集請依照下列步驟執行:

  1. 若要將新的活頁簿按一下 [檔案] 功能表上的 [新增],按一下活頁簿,然後再按一下 [確定]]。
  2. 在 [工具] 功能表上按一下 [選項],按一下 [計算] 索引標籤然後再按一下 [1904 年日期系統]。然後,請按一下 [確定]。
  3. 在 Sheet1 中輸入下列日期:
    A1: 7/5/96
    A2: 5/11/96
    A3: 4/28/96
  4. 在 [工具] 功能表上指向 [巨集],然後按一下 [Visual Basic 編輯器]。在 Visual Basic 編輯器] 中,按一下在 [插入] 功能表上的模組。
  5. 下列程式碼輸入模組工作表:
          Sub DateTest()         'dimension date variable         Dim dDate As Date         'store minimum date in range into variable         dDate = Application.Min(Worksheets(1).Range("A1:A3"))         'display stored date         MsgBox "Stored date" & Chr(13) & dDate         'check for 1904 date system         If Application.ThisWorkbook.Date1904 Then          'convert 1904 base date to 1900 base date          dDate = DateSerial(Year(dDate) + 4, Month(dDate), Day(dDate) + 1)          'display converted date            MsgBox "Converted date" & Chr(13) & dDate         Else            MsgBox "1904 date system is not enabled"         End If      End Sub						
  6. 若要執行巨集,指向 [工具] 功能表上的 [巨集],然後按一下 [巨集。 選取 DateTest,然後按一下 [執行]。
第一個訊息方塊出現日期 4/27/92,這是四年和一個日期早於最早日期範圍內的儲存格 A1 到 A3。在第二個訊息方塊會顯示正確的轉換"日期 4/28/96 年。
狀況說明
Microsoft 已確認此選項以在本篇文章開頭所列的 Microsoft 產品中有問題。
其他相關資訊
Visual Basic 應用程式並不會自動偵測 1904 年日期系統,並將轉換日期作為必要。如果使用者選取 [Microsoft Excel 中的 [1904 年日期系統,而且執行從工作表儲存格讀取日期的巨集,差異可能是 4 年又 1 天 (額外的一天帳戶的 「 閏年)。比方說 9/1/96 英 1904 年日期系統的日期可能會傳回 31 92 的日期。

當您選取 [1904 年日期系統,以及巨集時它會儲存日期,請使用 Value2 屬性時,日期系統不一致可能會發生在 Visual Basic 中。

Value2 屬性是在您可以使用 Microsoft Office 97 中的 Visual Basic 中一個新屬性。Value2 屬性,將變數儲存相同值] 屬性的方式不同之處在於它並不會使用貨幣或日期資料型別。
xl97 xl7 8.00 超大型核

警告:本文為自動翻譯

內容

文章識別碼:157035 - 最後檢閱時間:10/01/2013 04:41:47 - 修訂: 2.3

Microsoft Excel 2000 Standard Edition, Microsoft Excel 97 Standard Edition, Microsoft Excel 95 Standard Edition

  • kbnosurvey kbarchive kbmt kbdtacode kbprb kbprogramming KB157035 KbMtzh
意見反應