视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
VBA格式化字符串 VBA函数Format及工作表函数Text
2025-09-25 17:58:26 责编:小OO
文档
VBA 格式化字符串  vba函数Format 及工作表函数Text  

VBA 的 Format 函数与工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT ,以下是本人归纳的几点用法,希望对学习VBA有所裨益。

Format(值,格式(可选参数))

一、数字格式:

1、General Number:普通数字,可以用来去掉千位分隔号和无效 0 。

如:Format("1,234,567.80", "General Number")="1234567.8"

2、Currency:货币类型,可添加千位分隔号和货币符号,保留两位小数点。

如:Format(1234567, "Currency")="¥1,234,567.00"

3、Fixed:格式为带两位小数的数字。

如:Format("123456", "Fixed")=123456.00

4、Standard:标准,即带千位分隔号和两位小数。

如:Format("123456", "Standard")=123,456.00

5、Percent:带两位小数点的百分数。

如:Format("123456", "Percent")=12345600.00

6、Scientific:科学记数法。

如:Format("1234567", "Scientific")=1.23E+06

7、Yes/No:当数值为非 0 数字时返回 Yes ,否则返回 No 。

"如:Format(-3.14, "Yes/No")="Yes"

    Format(0, "Yes/No")="No"

8、True/False:当数值为非 0 数字时返回 True ,否则返回 False 。

与第7点类似,这里不再举例。

9、On/Off:当数值为非 0 数字时返回 On ,否则返回 Off 。

与第7点类似,这里不再举例。

10、""或省略:返回原值,但去除了小数点前后的无效 0 。

如:Format("0.1030", "")=".103"

11、0:占位格式化,不足位时补足 0 。

"如:Format(123, "0000")="0123"

    Format$(12.3, "0.00")="12.30"

12、#:占位格式化,不足位时不补足 0 。

如:Format(123, "####")=123

13、%:转化为百分数,一个%代表乘以 100 。

如:Format(1.23, "0.00%")=123.00%

    Format(1.23, "0.00%%")=12300.00%%

14、\:强制显示某字符。

如:Format$(12.34, "\\R\\M\\B .00")="RMB 12.34"

15、;(分号):分段显示不同格式

比如要把正数显示为“正”,负数显示为“负”,0显示为“零”,参数为"正;负;零"

如:Format$(123, "正;负;零")="正"

第1段为正数格式,第2段为负数格式,第3段为0格式。

二、日期和时间格式:

1、固定格式参数

General Date:基本类型

如:Format("2010-5-1 9:8:5", "General Date")="2010/5/1 9:08:05"

Long Date:操作系统定义的长日期

如:Format("2010-5-1 9:8:5", "Long Date")=2010年5月1日

Medium Date:中日期

如:Format("2010-5-1 9:8:5", "Medium Date")=10-05-01

Short Date:操作系统定义的短日期

如:Format("2010-5-1 9:8:5", "Short Date")=2010-5-1

Long Time:操作系统定义的长时间

如:Format("2010-5-1 9:8:5", "Long Time")=9:08:05

Medium Time:带AM/PM(上午/下午)的12小时制,不带秒

如:Format("2010-5-1 9:8:5", "Medium Time")=09:08 上午

Short Time:24时制的时间,不带秒

如:Format("2010-5-1 9:8:5", "Short Time")=09:08

2、自定义格式

C:格式化为国标的日期和时间

如:Format("2010-5-1 9:8:5", "c")=2010/5/1 9:08:05

y:一年中的第几天(1-366)

如:Format("2010-5-1 9:8:5", "y")=121

yy:两位数的年份(00-99)

如:Format("2010-5-1 9:8:5", "yy")=10

yyy:上面的 yy 与 y 结合在一起

"如:Format("2010-5-1 9:8:5", "yyy")=10121

    Format("2010-5-1 9:8:5", "yy年第y天")=10年第121天

yyyy:四位数的年份(0100-9999)

如:Format("2010-5-1 9:8:5", "yyyy")=2010

d:一个月中的第几天(1-31)

如:Format("2010-5-1 9:8:5", "d")=1

dd:与 d 相同,但不足两位时补足 0 

如:Format("2010-5-1 9:8:5", "dd")=01

ddd:三个英文字母表示的星期几

如:Format("2010-5-1 9:8:5", "ddd")="Sat"

dddd:英文表示的星期几

如:Format("2010-5-1 9:8:5", "dddd")="Saturday"

ddddd:显示标准日期

如:Format("2010-5-1 9:8:5", "ddddd")=2010/5/1

dddddd:长日期

如:Format("2010-5-1 9:8:5", "dddddd")=2010年5月1日

w:一个星期中的第几天(始于周日,周日为1)

如:Format("2010-5-1 9:8:5", "w")=7

ww:一年中的第几周

如:Format("2010-5-1 9:8:5", "ww")=18

m:月份数(当用于时间时,也可以表时为分钟)

如:Format("2010-5-1 9:8:5", "m")=5

mm:当小于10时带前导0的月数(当用于时间时,也可以表示为两位数的分钟数)

如:Format("2010-5-1 9:8:5", "mm")=05

mmm:三个英文字母表示的月份数

如:Format("2010-1-1 9:8:5", "mmm")="Jan"

mmmm:英文表示的月份数

如:Format("2010-1-1 9:8:5", "mmmm")="January"

q:一年中的第几季(1-4)

如:Format("2010-5-1 9:8:5", "q")=2

aaa:中文表示的周几

如:Format("2010-5-1 9:8:5", "aaa")=周六

aaaa:中文表示的星期几

如:Format("2010-5-1 9:8:5", "aaaa")=星期六

h:小时数(0-23)

如:Format("2010-5-1 9:8:5", "h")=9

h:两位数表示的小时数

如:Format("2010-5-1 9:8:5", "hh")=09

n:分钟数(0-59)

如:Format("2010-5-1 9:8:5", "n")=8

nn:两位数表示的分钟数(00-59)

如:Format("2010-5-1 9:8:5", "nn")=08

s:秒数(0-59)

如:Format("2010-5-1 9:8:5", "s")=5

ss:两位数表示的秒数(00-59)

如:Format("2010-5-1 9:8:5", "ss")=05

ttttt:标准时间,当小时数小于10时不带0,与 h:mm:ss 或 h:nn:ss 相同

如:Format("2010-5-1 9:8:5", "ttttt")=9:08:05

AM/PM:显示当前为AM或PM

如:Format("2010-5-1 11:59:59", "AM/PM")=AM

    Format("2010-5-1 12:0:0", "AM/PM")=PM

A/P:显示当前为A或P

与 AM/PM 一样,这里不再举例。

说明:

可以多种格式联合使用,如:

Format("2010-5-1 9:8:5", "dddddd aaaa")=2010年5月1日 星期六

三、文本格式

@:匹配位置插入格式化文本,如:

在"abcde"前插入文本"X",代码为:Format("abcde", "X@")=Xabcde

在"abcde"第1位字符后面插入文本"X",代码为:Format("abcde", "@X")=aXbcde

在"abcde"第2位字符后面插入文本"X",代码为:Format("abcde", "@@X")=abXcde

在"abcde"第3位字符后面插入文本"X",代码为:Format("abcde", "@@@X")=abcXde

当点位符@比原文本字符串多时,刚在相应位置上添加空格,如:

Format("abc", "X@@@@")="X abc"

Format("abc", "X@@@@@")="X  abc"

Format("t", "@@a@")="  at"(空格空格at)

与!配合可从后面截取一段文本,如:

截取"abcde"后面1个字符文本,代码为:Format("abcde", "!@")=e

截取"abcde"后面2个字符文本,代码为:Format("abcde", "!@@")=de

截取"abcde"后面3个字符文本,代码为:Format("abcde", "!@@@")=cde

截取"abcde"后面两位,并在前面添加"XY",代码为:Format("abcde", "!XY@@")=Xyde

&:字符占位符,与@基本相同,这里不再赘述。

<:强制将所有字符以小写格式显示。

如:Format$("I Love You", "<")=i love you

>:强制将所有字符以大写格式显示。

如:Format$("I Love You", ">")=I LOVE YOU下载本文

显示全文
专题