EP08. “Date Format 日期格式设置”
🔒 登录后可标记已读- 用
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 | 四位数年份 |
怎么找到想要的格式代码
- 选中一个日期单元格
- 按
Ctrl + 1打开 Format Cells - 切到 Custom 分类,里面有各种日期格式代码可以参考抄用
[截图:Format Cells 窗口的 Custom 分类页面,Type 输入框里列出各种日期格式代码]
学完你会
- ✅ 用
Range.NumberFormat改变日期的显示格式 - ✅ 看懂 d/m/y 系列格式代码的意思,自己组合出想要的格式
- ✅ 知道
NumberFormat只改显示方式,不会改变单元格实际存的日期数值
常见错误
- 格式代码大小写弄错(VBA 的日期格式代码不分大小写,但跟其他语法搞混容易打错字母数量,例如把
mmmm打成mmm,月份全名跟缩写不小心用错) - 把
m(月)和n(VBA 时间格式里的分钟代码)搞混 - 忘记
NumberFormat只改变「显示方式」,单元格里存的日期数值本身没有变
Sources
Blog / Website: