[英]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.