MICROSOFT

EP08. “Date Format 日期格式设置”

首页 Microsoft 工具 Excel · VBA · Date and Time · EP08
约 3 分钟· #EP08#Excel#Date and Time
🔒 登录后可标记已读
  • NumberFormat 属性能改变单元格里日期的显示格式(长日期、短日期,或自定义格式)
  • 讲怎么用代码设置这个属性,以及常用格式代码的意思
  • 也讲怎么用 Format Cells 弹窗反查想要的格式代码怎么写
  • 前置知识:不需要

重点内容


适用版本

桌面版通用(Excel 365 / 2021 / 2019 等)。


长日期格式

Range("A1").NumberFormat = "dddd, mmmm dd, yyyy"

短日期格式

Range("A1").NumberFormat = "m/d/yyyy"

自定义格式

Range("A1").NumberFormat = "d-mmmm"

格式代码对照表

代码意思
d日,不补零(1-31)
dd日,补零(01-31)
ddd星期缩写(Mon, Tue)
dddd星期全名(Monday, Tuesday)
m月,不补零(1-12)
mm月,补零(01-12)
mmm月份缩写(Jan, Feb)
mmmm月份全名(January, February)
yy两位数年份
yyyy四位数年份

怎么找到想要的格式代码

  1. 选中一个日期单元格
  2. Ctrl + 1 打开 Format Cells
  3. 切到 Custom 分类,里面有各种日期格式代码可以参考抄用

[截图:Format Cells 窗口的 Custom 分类页面,Type 输入框里列出各种日期格式代码]


学完你会

  • ✅ 用 Range.NumberFormat 改变日期的显示格式
  • ✅ 看懂 d/m/y 系列格式代码的意思,自己组合出想要的格式
  • ✅ 知道 NumberFormat 只改显示方式,不会改变单元格实际存的日期数值

常见错误

  • 格式代码大小写弄错(VBA 的日期格式代码不分大小写,但跟其他语法搞混容易打错字母数量,例如把 mmmm 打成 mmm,月份全名跟缩写不小心用错)
  • m(月)和 n(VBA 时间格式里的分钟代码)搞混
  • 忘记 NumberFormat 只改变「显示方式」,单元格里存的日期数值本身没有变

Sources

Blog / Website:

  1. Date Format