[英]VBA to change the format of date
我有一列V
,其中包含dd/mm/yyyy
格式的日期。 但是,系統格式將其顯示為mm/dd/yyyy
。 我想將日期格式從dd/mm/yyyy
為dd-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.