我试图通过在 Sheets("Sheet1").Cells(17, 3).Value 中的日期添加一个月来输入日期值,该值是 01/10/2011,但格式为 Oct-11。然后返回 Sheets("Sheet1").Cells(17, 4).Value = LDate,以显示 Nov-11
sDate = Sheets("Sheet1").Cells(17, 3).Value --> this shows 01/10/2011 when I hove over sDate
LDate = DateAdd("m", 1, sDate) --> this shows 01/11/2011 when I hove over LDate
然后我想将该值 01/11/2011 输入到以下单元格中
Sheets("Sheet1").Cells(17, 4).Value = LDate
Selection.NumberFormat = "mmm-yy"
但在单元格中它显示 11/01/2011 (Jan-11),为什么会这样做以及如何解决此问题?
小问题
Selection.NumberFormat = "mmm-yy"
您尚未选择任何内容,因此该格式将放置在您离开光标的位置。
主要问题
您遇到了 Excel 错误,即在将数据传输到工作表时,如果可以的话,它会将日期解释为美国(中端)格式。 “1/11/2011”对于美国人来说就是“11 Jan 11”,所以对于 Excel 来说就是“11 Jan 11”。 “20/11/2011”不是有效的美国日期,因此对于 Excel 来说,它是“20 Nov 11”。
我可以通过将 Date 和 Date 声明为字符串来重复您的问题。DateAdd
可以正确处理字符串,因此 LDate 是正确的,但当放置在单元格中时,它会被误解。
我可以通过将 Date 和 Date 声明为日期来解决您的问题:
Dim sdate As Date
Dim Ldate As Date
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)