繁体   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