
Excel 2007。
我想要一個巨集將今天的日期放入當前單元格中,格式為 dd-mmm-yy,例如 2014 年 10 月 30 日。
我的程式碼很簡單:
'ActiveCell.Value = Format(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")