VBA函数format
VBA 的 Format 函数与⼯作表函数 TEXT ⽤法基本相同,但功能更加强⼤,许多格式只能⽤于VBA 的 Format 函数,⽽不能⽤于⼯作表函数TEXT 。
Format⽤法详解
Format$(Now,"EEOA")
只要这么⼀句~~~~~就可以得到“ ⼆○○六年五⽉⼆⼗六⽇”
---------------------------------
Format[$] ( expr [ , fmt ] )
format 返回变体型
format$ 强制返回为⽂本
--------------------------------
数字类型的格式化
--------------------------------
固定格式参数:
General Number 普通数字,如可以⽤来去掉千位分隔号
format$("100,123.10","General Number") 返回值 100123.1
Currency 货币类型,可添加千位分隔号和货币符号
format$("1234567","Currency") 返回值¥1,234,567.00
Fixed 格式为带两位⼩数的数字
字符串函数注册登录format$("100123","Fixed") 返回值 100123.00
Standard 标准,即带千位分隔号和两位⼩数
format$("100123","Standard") 返回值 100,123.00
Percent 百分数
format$("100123","Percent") 返回值 10012300.00%
Scientific 科学记数法
format$("100123","Scientific") 返回值 1.00E+05
Yes/No 当值为0时返回 NO,否则返回 YES
format$("100123","Yes/No") 返回值 Yes
True/False 当值为0时返回 False,否则返回 True
format$("100123","True/False") 返回值 True
On/Off 当值为0时返回 Off,否则返回 On
format$("100123","On/Off") 返回值 On
⾃定义格式参数
"" 不进⾏格式化返回值原值,但去除了⼩数点前后的⽆效0
format(“0.1230”,””) 返回值 .123
0 占位格式化,不⾜补0
format$("100123","0000000") 返回值 0100123
# 占位格式化,不⾜时不补0
format$("100123",">##") 返回值 100123
. 强制显⽰⼩数点
format$("100123.12",".000") 返回值 100123.120
% 转化为百分数,⼀个%代表乘以100
format$("10.23","0.00%") 返回值 1023.00%
format$("10.23","0.00%%") 返回值 102300.00%%
, 以千为单位格式化
format$("10.23",",") 返回值 0
format$("10010.23",",") 返回值 10
format$("10010.23",",0.00") 返回值 10.01
E- E+ e- e+ 显⽰为科学记数(要注意格式语句,否则会和E的其它含义相混)
Format$(12.5,"0.00E+00") 返回值 1.25E+01
$ 强制显⽰货币符号
format$("10.23","{threadcontent}.00") 返回值¥10.23
- + ( ) space 按位置显⽰本样
Format$("1234.56","-(0.00)") 返回值 -(1234.56)
\ 转义符,显⽰出特殊符号
Format$("1234.56","\#.00") 返回值 #1234.56
"ABC" 显⽰双引号 (" ") 之内的字符串。如在代码中想在 format 中包含⼀个字符串,必须⽤ Chr(34) 将⽂本括起来(34 为双引号 (")) Format$(123.45,"TTT") 返回值 TTT
注:当双引号中的⽂本包含特殊的参数符号如e,要使⽤转义符"\",否则会按e的作⽤显⽰
; 类似多⽬运算符的作⽤。
当共有四部分时,
当⼤于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
当共有⼀部分时,按分号左边进⾏格式化
---------------------------------
⽇期类型的格式化
-
--------------------------------
注意:在中⽂操作系统中,系统⾃动将⽉份输为如:五⽉,⽽⾮ May 固定格式参数
General Date 基本类型
Format(Date,"YYYY年MM⽉DD⽇")
'M 个位⽉只显⽰⼀位,
'MM 显⽰两位⽉,
'MMM显⽰英⽂⽉简称,
'MMMM显⽰英⽂全名
Format$(Now,"General Date") 返回值 2006-5-25 14:56:15
Long Date 操作系统定义的长⽇期
Format$(Now,"Long Date") 返回值 2006年5⽉25⽇
Medium Date 中⽇期(yy/mmm/dd)
Format$(Now,"Medium Date") 返回值 06-5⽉-25
Short Date 操作系统定义的短⽇期
Format$(Now,"Short Date") 返回值 2006-5-25
Long Time 操作系统定义的长时间
Format$(Now,"Long Time") 返回值 15:06:36
Medium Time 带AM/PM的12⼩时制,不带秒
Format$(Now,"Medium Time") 返回值 03:08 PM
Short Time 24时制的时间,不带秒
Format$(Now,"Short Time") 返回值 15:08
⾃定义格式参数
:
⽤来标识时间字符的间隔
Format$(Time(),"hh:nn") 返回值 15:25
/ ⽤来标识⽇期字符的间隔
Format$(now,"yyyy/mm/dd") 返回值 2006-05-25
c 格式化为国标的⽇期和时间
Format$(Now,"c") 返回值 2006-5-25 14:56:15
y ⼀年中的第⼏天
Format$(Now,"y") 返回值 145
d ⼀个⽉中的第⼏天(1-366)
Format$(Now,"d") 返回值 25
dd 当⼩于10时前⾯带0的天数(01-31)
Format$("2006-1-7","dd") 返回值 07
ddd 周⼏
Format$(Now,"ddd") 返回值周四
dddd 星期⼏
Format$(Now,"dddd") 返回值星期四
ddddd 显⽰标准⽇期
Format$(Now,"ddddd") 返回值 2006-05-25
dddddd 长⽇期
Format$(Now,"dddddd") 返回值 2006年5⽉25⽇
w ⼀个星期中的第⼏天
Format$(Now,"w") 返回值 5
ww ⼀年中的第⼏周
Format$(Now,"ww") 返回值 21
m ⽉数(注:当⽤于时间时,也可以表时为分钟)
Format$(Now,"m") 返回值 5
mm 当⼩于10时前⾯带0的⽉数(注:当⽤于时间时,也可以表时为带0的分钟)
Format$(Now,"m") 返回值 05
Format$(Now,"hh:mm") 返回值 16:09
mmm ⽉份
Format$(Now,"mmm") 返回值五⽉
q ⼀年中的第⼏季(1-4)
Format$(Now,"q") 返回值 2
yy 两位数的年份(00-99)
Format$(Now,"yy") 返回值 06
yyyy 四位数的年份(0100-9999)
Format$(Now,"yyyy") 返回值 2006
h ⼀天中的第N⼩时(0-23)
Format$(Now,"h") 返回值 16
hh 当⼩于10时带0的⼩时数(00-23)
Format$("7:30:28","hh") 返回值 07
n ⼀⼩时的分钟数(0-59)
Format$("7:30:28","n") 返回值 30
nn 当⼩于10时带0的分钟数(00-59)
Format$("7:3:28","n") 返回值 03
s ⼀分钟中的秒数(0-59)
Format$("7:30:8","s") 返回值 8
ss 当⼩于10时带0的分钟数(00-59)
Format$("7:3:8","ss") 返回值 08
ttttt 标准时间,⼩时数当⼩于10时不带0,与h:mm:ss相同
Format$("7:3:28","ttttt") 返回值 7:03:28
AM/PM 显⽰当前为AM或为PM
Format$(Now,"AM/PM") 返回值 PM
A/P 显⽰当前为A或为P
Format$(Now,"A/P") 返回值 P
AMPM 对0⾄2359的数值进⾏判断是AM还是PM,可以看作是同等于对00:00⾄23:59的数字进⾏判断,如1000可以看作是10:00。Format$(1000,"AMPM") 返回值 AM
联合格式化
m/d/yy Format$(Now,"m/d/yy") 返回值 5-25-06
d-mmm-yy Format$(Now,"d-mmm-yy") 返回值 25-5⽉-06
d-mmmm Format$(Now,"d-mmmm") 返回值 25-五⽉
mmmm-yy Format$(Now,"mmmm-yy") 返回值五⽉-06
hh:mm AM/PM Format$(Now,"hh:mm AM/PM") 返回值 04:50 PM
h:mm:ss a/p Format$(Now,"h:mm:ss a/p") 返回值 4:51:38 p
h:mm Format$(Now,"h:mm") 返回值 16:51
h:mm:ss Format$(Now,"h:mm:ss") 返回值 16:51:38
m/d/yy h:mm Format$(Now,"m/d/yy h:mm") 返回值 5-25-06 16:54
----------------------------------
⽂本类型的格式化
----------------------------------
; 当两部分时,则第⼀部分为⾮空格式化,第⼆部分为null值或空值的格式化表达式
@ 匹配位置插⼊格式化⽂本,占位位置不存在时,显⽰空⽩(空字符串)
只有⼀个@符号时,是在最后⾯加上格式化⽂本
Format$("CHIN","@a") 返回值 CHINa
有多个@占位符,是按从右⾄左匹配,并在相应的位置上显⽰格式化⽂本
Format$("CHIN","@a@@") 返回值 CHaIN
当与 ! 配合时,则变为从左⾄右匹配
Format$("CHIN","[email=!@a]!@a[/email]@@") 返回值 CaHIN
当占位符⽐原⽂本字符串多时,刚在相应位置上添加空格
Format$("C","@@a@") 返回值空⽩空⽩aC
& 字符占位符。除在当占位位置不存在时,不显⽰外,其余均与@相同
当占位符⽐原⽂本字符串多时,刚在相应位置上添加空格
Format$("C","&&a&") 返回值 aC
< 强制⼩写。将所有字符以⼩写格式显⽰。
Format$("I love you","<") 返回值 i love you
> 强制⼤写。将所有字符以⼤写格式显⽰。
Format$("I love you",">") 返回值 I LOVE YOU
! 强制由左⽽右填充字符占位符。缺省值是由右⽽左填充字符占位符。
Format$("CHIN","[email=!@a]!@a[/email]@@") 返回值 CaHIN
-
---------------------------------------
强制使⽤中⽂格式的⽇期时间
----------------------------------------
aaaa 星期
O 中⽂⽉份
Format$(Now,"O") 返回值五⽉
o 单字节⽉份
Format$(Now,"o") 返回值 5⽉
A 中⽂⽇期
Format$(Now,"A") 返回值⼆⼗六⽇
a 单字节⽇期
Format$(Now,"a") 返回值 26⽇
E 短中⽂年份
Format$(Now,"E") 返回值六年
e 单单字节年份
Format$(Now,"e") 返回值 6年
EE 中⽂年份
Format$(Now,"EE") 返回值⼆○○六年ee 单字节年份
Format$(Now,"ee") 返回值 2006年

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论