Excel 2007。
我想要一个宏将今天的日期放在当前单元格中,格式为 dd-mmm-yy,例如 30-Oct-14。
我的代码很简单:
'ActiveCell.Value = 格式(Now(),“dd-mmm-yy”)'
由于某种原因,这将返回带有空格而不是连字符的“30 Oct 14”。
类似格式可以正常工作。例如
dd-mm-yy 表示 30-10-14,
dd~mmm~yy 表示 30~Oct~14
单元格的实际值设置为“10 30 2014”
谁能给我一个简单的解决方法?如果可能的话,解释一下为什么会发生这种情况?
答案1
Excel 会自动将您使用宏输入的文本转换为日期(然后应用日期格式)。要强制 Excel 将其查看为文本,请在日期字符串前面添加单引号:
ActiveCell.Value = "'" + Format(Now(), "dd-mmm-yy")
或者,先将单元格格式设置为文本类型:
ActiveCell.NumberFormat = "@"
ActiveCell.Value = Format(Now(), "dd-mmm-yy")