office交流網--QQ交流群號

Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

VBA關於format函數的用法詳解

2020-10-18 08:00:00
tmtony8
原創
15070

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",",") 返迴值 0
format$("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") 返迴值 5
Format$(Now,"h:m") 返迴值 16:11


21. mm 當小於10時前麵帶0的月數(註:當用於時間時,也可以錶時爲帶0的分鐘)

Format$(Now,"m") 返迴值 05
Format$(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-06
37. 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值或空值的格式化錶達式


2. @ 匹配位置插入格式化文本,佔位位置不存在時,顯示空白(空字符串)
隻有一箇@符號時,是在最後麵加上格式化文本
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

 




分享