每当我尝试将日期更改为特定格式时,excel会自动自动格式化为" 3/1/2017 0:00"而不是01-MAR-2017 00:00:00。
我的代码如下:
objMasterDefectLog.Sheets(1).Range(strFrozenCustReqDateLoc).Offset(iCounter, 0).Value = Format(tempString, "dd-mmm-yyyy hh:mm:ss")
即使我将tempString转换为日期,它仍然无法正确格式化。如果我不必,我宁愿不解析所有内容。
答案 0 :(得分:2)
您还需要在设置值后定义单元格的格式。设置.Value
仅设置单元格的值,但不设置格式。所以你还需要格式化单元格:
objMasterDefectLog.Sheets(1).Range(strFrozenCustReqDateLoc).Offset(iCounter, 0).NumberFormat = "dd-mmm-yyyy hh:mm:ss"
答案 1 :(得分:2)
您希望单元格包含日期/时间,还是显示日期/时间的文本?如果是前者,请使用@ Peh的例子。如果是后者,你可以用旧的撇号技巧强制它:
...Offset(iCounter, 0).Value = "'" & Ucase(Format(tempString, "dd-mmm-yyyy hh:mm:ss"))