簡體   English   中英

VBA更改日期格式

[英]VBA to change the format of date

我有一列V ,其中包含dd/mm/yyyy格式的日期。 但是,系統格式將其顯示為mm/dd/yyyy 我想將日期格式從dd/mm/yyyydd-mmm-yyyy

ThisWorkbook.Sheets(1).Range("W" & i).NumberFormat = "dd-mmm-yyyy"

當我使用上述代碼轉換時,它將值從08/02/2017更改為02-Aug-2017 它應該更改為08-Feb-2017 請協助。

從一開始就嘗試簡化一切。 2017年2月8日是Excel系統中的第42774天。 因此,在空白表中運行以下命令並檢查結果:

Option Explicit

Public Sub TestMe()

    [a1] = 42774 '08-Feb-17
    [a2] = [a1]
    [a3] = [a1]
    [a4] = [a1]

    [a2].NumberFormat = "dd-mmm-yyyy"
    [a3].NumberFormat = "mmm-dd-yyyy"
    [a4].NumberFormat = "dd-mm-yyyy"

End Sub

在Excel中,第1天是1900年1月1日。 在VBA中,第1天是1899年12月31日。

您的代碼沒有錯。 您輸入了“ 08/02/2017”-這被解釋為“ mm / dd / yyyy”格式的輸入。 結果,該單元格顯示“ 02-Aug-2017”。

您必須更改系統日期格式,才能以格式“ dd / mm / yyyy”的形式讀取輸入(08/02/2017)作為日期值。 之后,您的單元格將以所需的格式和值向您顯示日期(08-Feb-2017)。

要更改系統日期格式,請轉到控制面板>區域和語言。 您當前的格式必須為“英語(美國)” [或帶有mm / dd / yyyy日期格式的內容]。 將其更改為“英語(英國)”。

這應該解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM