VBA關於format函數的用法詳解

2021-02-19 Office交流網

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

相關焦點

  • Python中format函數用法
    format優點format是python2.6新增的一個格式化字符串的方法,相對於老版的%格式方法,它有很多優點。1.不需要理會數據類型的問題,在%方法中%s只能替代字符串類型2.單個參數可以多次輸出,參數順序可以不相同3.填充方式十分靈活,對齊方式十分強大4.官方推薦用的方式,%方式將會在後面的版本被淘汰format應用一:填充(1)通過位置來填充字符串print("hello {0} i am {1}".format
  • 一文詳解format()函數
    自python2.6開始,新增了一種格式化字符串的函數str.format(),此函數可以快速處理各種字符串。
  • 【Excel分享】if函數的基本用法
    就可以天天收到Excel知識分享 Excel中的if函數的基本用法       在excel中if函數是最經常用到的判斷函數,通過它可以減少很多繁瑣複雜的工作,判斷單元格內容滿足什麼條件則對應返回相應的值。
  • $sformatf() / $sformat()函數妙用
    $sformatf()/$sformat()函數,他們是什麼含義?01首先Jerry和大家解釋下這兩個函數什麼含義。沒錯,第一句會列印出:1.jerry_face_score==100第二句會列印出:2.jerry_cool_score==100我們看著這個程序琢磨一會兒就應該不難發現:首先$sformatf()/$sformat()這兩個函數是不做列印的事兒的,不要以為這兩個函數是做列印的!
  • Hlookup函數的用法【Excel分享】
    」,我為什麼今天會分享這個函數呢?,是我們一個vip學員,在別的會計班聽課時,聽到這個函數,說我們這裡沒有提到這個函數,別的都有,就這個不會。謝謝這位學員反饋,這位學員名字叫「林夕」,為什麼我們函數初班沒有這個函數,因為它的用法和vlookup基本一樣,vlookup函數首列查找,Hlookup函數首行查找,它們兩個可以看成一對姐妹函數一、Hlookup作用查找查找值,到首行中進行查找,返回第幾行和這個查找值所在的列交叉的好那個值二、參數講解
  • Python函數詳解一(函數參數、變量作用域)
    函數參數詳解1.位置參數:調用的時候必須傳值,有幾個就按順序傳幾個值示例def area(length, width): return 2 * (length + width)# 調用函數時,必須傳遞2個參數,否則會引發錯誤print(area(10,3))
  • EXCEL表格詳解vlookup第五彈-VBA自己寫myLookup函數
    我們在前四彈詳細介紹了vlookup函數,以及vlookup函數實現不了後,使用index為主函數加match,small,if等函數的組合拳來實現複雜的條件查找。由於大家從事的工作領域不同,有時候還需要實現更加複雜的查找,這時往往在幾個函數之間相互切換,相互套用,難免給一些相對固定的查找帶來不必要的麻煩。下面我就手把手地帶大家寫一個自己的函數myLookup() ,使用這一個函數來實現前四彈的所有功能。
  • Excel表格詳解之文本函數-TEXT()函數
    下面就讓我來給大家簡單介紹一下該函數。一,日期轉換TEXT(value, text_format)的神奇之處便在text_format這個參數上了,他可以說是變化多端。假設value是日期,你就可以方便地設成各種各樣的日期格式,比如取日期的年,月,日,星期,換一個顯示格式等等。
  • VBA基礎入門(6)簡單的字符串處理函數(1)
    下面我們進入今天的正題,今天要講的是簡單的字符串處理函數。在Kevin看來無論哪門語言,字符串的處理都佔據著重要的位置。我們今天先來說說下面3個函數。我們先從例子來了解一下你們的含義。用法:Left(字符串,要截取字符串的長度)例  2   Right我們來看看如何截取後四位?
  • PHP explode()函數用法詳解
    本篇文章主要給大家介紹PHP中explode()函數的用法詳解,希望對需要的朋友有所幫助!explode()是PHP中的內置函數,用於將字符串拆分為不同的字符串。explode()函數基於字符串分隔符來拆分字符串,也就是說,它將字符串拆分為出自分隔符的位置。
  • Indirect函數基本用法【Excel分享】
    大家好,今天和大家分享「Indirect函數基本用法」,許多朋友一見到這個函數就犯暈,確是,對於新手來說,這個函數不好理解,下面我來講講它的基本用法
  • format,不只是格式化
    format的基本用法不妨從上面的示例代碼入手介紹 CL 中的format(下文在不引起歧義的情況下,簡稱為format)的基本用法。首先,它需要至少兩個參數:第一個參數控制了format將會把格式化後的字符串列印到什麼地方。t表示列印到標準輸出;第二個參數則是本文的主角,名為控制字符串(control-string)。
  • python內置函數format的使用方法
    前言其實在Java中,我們已經解除過format的使用,例如:當我們要把昨天的訂單金額統計後顯示到前臺時,由於資料庫存儲的是double格式的數據,在統計完昨天的訂單金額後仍然是double類型的數據,但是,之前遇到過此類問題的小夥伴都知道,這個訂單額有時候會喪失精度,變成一個很長的
  • Excel函數技巧與VBA初步入門
    2019年11月28日IF函數IF函數語法IF(logical_test,value_if_true,value_if_false)功能IF函數是條件判斷函數:如果指定條件的計算結果為
  • Python中unittest用法實例
    這篇文章主要介紹了Python中unittest用法,較為詳細的講述了unittest中相關函數的用法及完整實例,需要的朋友可以參考下
  • 成都嵌入式學習:C語言常用函數用法大全
    在C語言學習過程當中,除了學習好C語言基本語法外,掌握常用的C語言庫函數的使用也是非常重要的,本文主要給同學們詳細講解在實際項目開發過程中常用C語言函數的用法。1 printf 函數函數原型:int printf(const char *format,[argument]);功能:實現格式化輸入輸出返回值:實際輸出的字符個數函數參數:format 格式化字符串
  • python中str內置函數用法總結
    1字符串查找類:find、index;2、字符串判斷類:islower、isalpha;3、內容判斷類:tartswith、endswith;4、操作類函數:format、strip、join。2、字符串判斷類:islower、isalpha此類函數的特點是is開頭isalpha:判斷是不是字母,需要注意兩點:此函數默認的前提是字符串中至少包含一個字符,若沒有,則返回false漢字被認為是alpha,此函數不能區分英文字母和漢字,區分中英文請使用unicode碼isdigit、isnumeric、isdecimal三個判斷數字的函數
  • Python函數詳解
    下面的例子展示了這種用法:def show_args(arg, def_arg=1, def_arg2=2):return "arg={}, def_arg={}, def_arg2={}".format(arg, def_arg,def_arg2)上面例子函數的定義中,包含一個正常位置的參數arg和兩個默認參數def_arg和def_arg2。
  • Python中map()函數用法
    map() 是python的內置函數,會根據提供的函數對指定序列做映射。
  • snprintf,vsnprintf函數用法以及返回值的一個坑
    c語言中經常用snprintf,vsnprintf等函數輸出格式化內容到一個字符數組中,本篇經驗介紹snprintf函數的用法,以及該函數返回值的用法。其中snprintf函數的返回值不注意的話可能會引起不小的麻煩。