VBA关于format函数的用法详解
- 2020-10-18 08:00:00
- tmtony8 原创
- 15112
VBA 的 Format 函数与Excel表格中TEXT 函数很相似,但Format函数功能更加多,能表示的意思更加丰富。
Format用法详解
Format( expr [ , fmt ] ) 即 Format[$] (值,格式(可选参数))format 返回变体型
format$ 强制返回为文本
1. General Number 普通数字,如可以用来去掉千位分隔号
format$("100,123.12","General Number") 返回值 100123.12
2. Currency 货币类型,可添加千位分隔号和货币符号
format$("100123.12","Currency") 返回值 ¥100,123.12
3. Fixed 格式为带两位小数的数字
format$("100123","Fixed") 返回值 100123.00
4. Standard 标准,即带千位分隔号和两位小数
format$("100123","Standard") 返回值 100,123.00
5. Percent 百分数
format$("100123","Percent") 返回值 10012300.00%
6. Scientific 科学记数法
format$("100123","Scientific") 返回值 1.00E+05
7. Yes/No 当值为0时返回 NO,否则返回 YES
format$("100123","Yes/No") 返回值 Yes
8. True/False 当值为0时返回 False,否则返回 True
format$("100123","True/False") 返回值 True
9. On/Off 当值为0时返回 Off,否则返回 On
format$("100123","Yes/No") 返回值 On
自定义格式参数
10. "" 不进行格式化 返回值 原值
11. 0 占位格式化,不足补0
format$("100123","0000000") 返回值 0100123
12. # 占位格式化,不足时不补0
format$("100123","#######") 返回值 100123
13. . 强制显示小数点
format$("100123.12",".000") 返回值 100123.120
14. % 转化为百分数,一个%代表乘以100
format$("10.23","0.00%") 返回值 1023.00%format$("10.23","0.00%%") 返回值 102300.00%%
15. , 以千为单位格化
format$("10.23",",") 返回值 0format$("10010.23",",") 返回值 10
format$("10010.23",",0.00") 返回值 10.01
16. E- E+ e- e+ 显示为科学记数(要注意格式语句,否则会和E的其它含义相混)
Format$(12.5,"0.00E+00") 返回值 1.25E+01
17. $ 强制显示货币符号
format$("10.23","{threadcontent}.00") 返回值 ¥10.23
18. - + ( ) space 按位置显示本样
Format$("1234.56","-(0.00)") 返回值 -(1234.56)
19. \ 转义符,显示出特殊符号
Format$("1234.56","\#.00") 返回值 #1234.56
20. "ABC" 显示双引号 (" ") 之内的字符串。如在代码中想在 format 中包含一个字符串,必须用 Chr(34) 将文本括起来(34 为双引号 ("))
Format$(123.45,"TTT") 返回值 TTT注:当双引号中的文本包含特殊的参数符号如e,要使用转义符"",否则会按e的作用显示
21. ; 类似多目运算符的作用:
当共有 四 部分时,当大于0时,按第一部分进行格式化,
当小于0时按第二部分进行格式化,
当等于0时按第三部分进行格式化,
当为null值时,按第四部分进行格式化。如:
Format$(0,"0.00;负数;零;空") 返回值 零
当共有 三 部分时,
当大于0时,按第一部分进行格式化,当小于0时按第二部分进行格式化,
当等于0时按第三部分进行格式化,如:
Format$(-10,"0.00;ttt;零") 返回值 ttt
当共有 两 部分时,
当大于或等于0时,按第一部分进行格式化,当小于0时按第二部分进行格式化,
Format$(-123,"0.00;abc") 返回值 abc
Format$(123,"0.00;abc") 返回值 123.00
当共有 一 部分时,按分号左边进行格式化
固定格式参数
1. General Date 基本类型
Format(Date,"YYYY年MM月DD日")
'M 个位月只显示一位,
'MM 显示两位月,
'MMM显示英文月简称,
'MMMM显示英文全名
Format$(Now,"General Date") 返回值 2006-5-25 14:56:15
2. Long Date 操作系统定义的长日期
Format$(Now,"Long Date") 返回值 2006年5月25日
3. Medium Date 中日期(yy/mmm/dd)
Format$(Now,"Medium Date") 返回值 06-5月-25
4. Short Date 操作系统定义的短日期
Format$(Now,"Short Date") 返回值 2006-5-25
5. Long Time 操作系统定义的长时间
Format$(Now,"Long Time") 返回值 15:06:36
6. Medium Time 带AM/PM的12小时制,不带秒
Format$(Now,"Medium Time") 返回值 03:08 PM
7. Short Time 24时制的时间,不带秒
Format$(Now,"Short Time") 返回值 15:08
自定义格式参数
8. : 用来标识时间字符的间隔Format$(Time(),"hh:nn") 返回值 15:25
9. / 用来标识日期字符的间隔
Format$(now,"yyyy/mm/dd") 返回值 2006-05-25
10. c 格式化为国标的日期和时间
Format$(Now,"c") 返回值 2006-5-25 14:56:15
11. y 一年中的第几天
Format$(Now,"y") 返回值 145
12. d 一个月中的第几天(1-366)
Format$(Now,"d") 返回值 25
13. dd 当小于10时前面带0的天数(01-31)
Format$("2006-1-7","dd") 返回值 07
14. ddd 周几
Format$(Now,"ddd") 返回值 周四
15. dddd 星期几
Format$(Now,"dddd") 返回值 星期四
16. ddddd 显示标准日期
Format$(Now,"ddddd") 返回值 2006-05-25
17. dddddd 长日期
Format$(Now,"dddddd") 返回值 2006年5月25日
18. w 一个星期中的第几天
Format$(Now,"w") 返回值 5
19. ww 一年中的第几周
Format$(Now,"ww") 返回值 21
20. m 月数(注:当用于时间时,也可以表时为分钟)
Format$(Now,"m") 返回值 5Format$(Now,"h:m") 返回值 16:11
21. mm 当小于10时前面带0的月数(注:当用于时间时,也可以表时为带0的分钟)
Format$(Now,"m") 返回值 05Format$(Now,"hh:mm") 返回值 16:09
22. mmm 月份
Format$(Now,"mmm") 返回值 五月
23. q 一年中的第几季(1-4)
Format$(Now,"q") 返回值 2
24. yy 两位数的年份(00-99)
Format$(Now,"yy") 返回值 06
25. yyyy 四位数的年份(0100-9999)
Format$(Now,"yyyy") 返回值 2006
26. h 一天中的第N小时(0-23)
Format$(Now,"h") 返回值 16
27. hh 当小于10时带0的小时数(00-23)
Format$("7:30:28","hh") 返回值 07
28. n 一小时的分钟数(0-59)
Format$("7:30:28","n") 返回值 30
29. nn 当小于10时带0的分钟数(00-59)
Format$("7:3:28","n") 返回值 03
30. s 一分钟中的秒数(0-59)
Format$("7:30:8","s") 返回值 8
31. ss 当小于10时带0的分钟数(00-59)
Format$("7:3:8","ss") 返回值 08
32. ttttt 标准时间,小时数当小于10时不带0,与h:mm:ss相同
Format$("7:3:28","ttttt") 返回值 7:03:28
33. AM/PM 显示当前为AM或为PM
Format$(Now,"AM/PM") 返回值 PM
34. A/P 显示当前为A或为P
Format$(Now,"A/P") 返回值 P
35. AMPM 对0至2359的数值进行判断是AM还是PM,可以看作是同等于对00:00至23:59的数字进行判断,如1000可以看作是10:00。
Format$(1000,"AMPM") 返回值 AM
联合格式化
36. m/d/yy Format$(Now,"m/d/yy") 返回值 5-25-0637. d-mmm-yy Format$(Now,"d-mmm-yy") 返回值 25-5月-06
38. d-mmmm Format$(Now,"d-mmmm") 返回值 25-五月
39. mmmm-yy Format$(Now,"mmmm-yy") 返回值 五月-06
40. hh:mm AM/PM Format$(Now,"hh:mm AM/PM") 返回值 04:50 PM
41. h:mm:ss a/p Format$(Now,"h:mm:ss a/p") 返回值 4:51:38 p
42. h:mm Format$(Now,"h:mm") 返回值 16:51
43. h:mm:ss Format$(Now,"h:mm:ss") 返回值 16:51:38
44. m/d/yy h:mm Format$(Now,"m/d/yy h:mm") 返回值 5-25-06 16:54
强制使用中文格式的日期时间
45. aaaa 星期
Format$(Now,"aaaa") 返回值 星期五
46. O 中文月份
Format$(Now,"O") 返回值 五月
47. o 阿拉伯数字月份
Format$(Now,"o") 返回值 5月
48. A 中文日期
Format$(Now,"A") 返回值 二十六日
49. a 阿拉伯数字日期
Format$(Now,"a") 返回值 26日
50. E 短中文年份
Format$(Now,"E") 返回值 六年
51. e 阿拉伯数字年份
Format$(Now,"e") 返回值 6年
52. EE 中文年份
Format$(Now,"EE") 返回值 二〇〇六年
53. ee 阿拉伯数字年份
Format$(Now,"ee") 返回值 2006年
1. ; 当两部分时,则第一部分为非空格式化,第二部分为null值或空值的格式化表达式
只有一个@符号时,是在最后面加上格式化文本
Format$("CHIN","@a") 返回值 CHINa
有多个@占位符,是按从右至左匹配,并在相应的位置上显示格式化文本
Format$("CHIN","@a@@") 返回值 CHaIN
当与 ! 配合时,则变为从左至右匹配
Format$("CHIN","[email=!@a]!@a[/email]@@") 返回值 CaHIN当占位符比原文本字符串多时,刚在相应位置上添加空格
Format$("C","@@a@") 返回值 空白空白aC
3. & 字符占位符。除在当占位位置不存在时,不显示外,其余均与@相同
当占位符比原文本字符串多时,刚在相应位置上添加空格Format$("C","&&a&") 返回值 aC
4. < 强制小写。将所有字符以小写格式显示。
Format$("I love you","<") 返回值 i love you
5. > 强制大写。将所有字符以大写格式显示。
Format$("I love you",">") 返回值 I LOVE YOU
6. ! 强制由左而右填充字符占位符。缺省值是由右而左填充字符占位符。
Format$("CHIN","[email=!@a]!@a[/email]@@") 返回值 CaHIN
- office课程播放地址及课程明细
- Excel Word PPT Access VBA等Office技巧学习平台
- 将( .accdb) 文件格式数据库转换为早期版本(.mdb)的文件格式
- 将早期的数据库文件格式(.mdb)转换为 (.accdb) 文件格式
- KB5002984:配置 Jet Red Database Engine 数据库引擎和访问连接引擎以阻止对远程数据库的访问(remote table)
- Access 365 /Access 2019 数据库中哪些函数功能和属性被沙箱模式阻止(如未启动宏时)
- Access Runtime(运行时)最全的下载(2007 2010 2013 2016 2019 Access 365)
- Activex控件或Dll 在某些电脑无法正常注册的解决办法(regsvr32注册时卡住)
- office使用部分控件时提示“您没有使用该ActiveX控件许可的问题”的解决方法
- RTF文件(富文本格式)的一些解析
- Access树控件(treeview) 64位Office下出现横向滚动条不会自动定位的解决办法
- Access中国树控件 在win10电脑 节点行间距太小的解决办法
- EXCEL 2019 64位版(Office 2019 64位)早就支持64位Treeview 树控件 ListView列表等64位MSCOMMCTL.OCX控件下载
- VBA或VB6调用WebService(直接Post方式)并解析返回的XML
- 早期PB程序连接Sqlserver出现错误
- MMC 不能打开文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC 可能是由于文件不存在,不是一个MMC控制台,或者用后来的MMC版
- sql server连接不了的解决办法
- localhost与127.0.0.1区别
- Roych的浅谈数据库开发系列(Sql Server)
- sqlserver 自动备份对备份目录没有存取权限的解决办法
- 安装Sql server 2005 express 和SQLServer2005 Express版企业管理器 SQLServer2005_SSMSEE
联系人: | 王先生 |
---|---|
Email: | 18449932@qq.com |
QQ: | 18449932 |
微博: | officecn01 |