VBA经典应用69例应用6:Range.NumberFormat属性

VBA语言専攻 2024-08-08 19:29:52

《VBA经典应用69例》(版权10178981),是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容:VBA经典应用69例应用6:Range.NumberFormat属性

【分享成果,随喜正能量】凡事皆可以更坏,坏到尽头就是质变,变成另一种东西;凡事也可以更好,好到尽头仍然是质变,变成另一种存在。。

应用6 工作表中数值的格式化(NumberFormat)处理

这个专题的应用也是来源于给学员的答疑,格式(Format)是我们在处理工作表数据时必须要面对的问题,处理的好可以让整个工作表看起来赏心悦目,处理的不好,会给人以凌乱的感觉。我们这讲的内容将总结一下在工作表中如何格式化数据,处理方案仍是结合我们日常工作中的EXCEL操作来进行。

NumberFormat是Excel Range对象的属性。Range对象可以被视为一个单元格或一组单元格,可以是单个单元格、或者是一列或是工作表的UsedRange。NumberFormat属性可用于设置时间、日期、货币/会计格式和许多其他格式的格式。通过这种格式的设置,可以让信息以最佳方式传递给阅读者。例如,我们可以在长数字中加入一些逗号,可以在把小数点长的数字向上(或向下)舍入到最接近的2或3个小数点等等。此外,NumberFormat还可以用来设置一个自定义格式。

1 Range.NumberFormat 属性

这个属性返回或设置一个 Variant 值,它表示对象的格式代码。

语法:expression.NumberFormat

expression 一个表示 Range 对象的变量。

如果指定范围内的所有单元格的数字格式不相同,则此属性返回Null。格式代码与“单元格格式”对话框中的“格式代码”选项的字符串相同。Format函数使用的格式代码字符串与NumberFormat和NumberFormatLocal属性不同。

几种常见的数值格式及格式代码:

序号

格式

格式代码

实例

结果

1

数字(小数)

#.#

122.333

122.3

2

货币

$#

122

¥122

3

百分比

%#

122

%12200

4

分数

# ?/?

122.3

122 2/7

5

分隔符

#-#-#

122.333

1-2-2

6

逗号/十进

#,##0.00

122333.444

122,333.44

7

#,##0, “K”

1223334

1,223K

8

百万

#,##0.00,, “M”

1223334

1.22 M

下面再给大家介绍一下格式代码中的特殊字符的意义,如下面的列表,这些特殊符号的意义希望大家能记住,以方便在代码中利用,另外,包括上面的表格,在我给出的程序文件中有记录,大家可以在工作表的激活事件中查看:

介绍

格式化代码

示例

结果

(0): 确保指定位置将放置一个数字,如果没有数字,则将放置零。如果你希望空间是空的,那么使用?而不是0。

0000.00

122.1

0122.10

(#): 如果有必要显示数字,它将显示;如果没有,那么不显示。

#000.0##

122.12340

122.123

(“”): 引号之间的任何内容都将附加到数字后面。在VBA中使用时,应该在它们周围附加一组双引号。

###, “K”

122333

122 K

(,): 逗号除了用作千位分隔符外,还用于将右边的3位数字留空(数字比例)。在本例中放置两个逗号将删除其右侧的6位数字。

#,###,, “M”

123456789

123M

#,###, “M”

123456789

123,457M

#,### “M”

123456789

123,456,789M

($ / + – ( ) { } < > : ^ ‘ space): 这些符号被认为是文字字符。它们的显示方式与在格式化代码中键入的完全相同(在相同的位置)。你不需要将它们用双引号括起来,因为默认情况下它们被认为是文字。

+# (#)

12345

+1234(5)

(; ): 分号用于分隔条件区域 ,如 [正值显示];[显示负值];[零值显示];[显示文本值]

[Green]0.0

1

1.0

[Red]-0.0

-1

--1.0

[Blue]0.0

0

0.0

[Magenta]@

text

text

(=, <, > ,<= ,>= ,<>): 比较符号用于指定执行格式化代码的条件。

[Green][>=70]0.0

80

80.0

[Blue] [>=20]0.0

50

50.0

[Red]0.0

10

10.0

d m y (day month year): 日期符号用于日期格式

d m yy

2021-09-19

19 9 21

d m yyyy

2021-09-09

9 9 2021

d mm yyyy

2021-09-09

9 09 2021

dd mm yyyy

2021-09-09

09 09 2021

ddd mm yyyy

2021-09-09

Thu 09 2021

dd mmm yyyy

2021-09-09

09 Sep 2021

dd mmmm yyyy

2021-09-09

09 September 2021

dd mmmmm yyyy

2021-09-09

09 S 2021

h m s (hours minutes seconds): 时间符号用于设置时间格式。

h

2021/9/10 9:50 AM

9

hh

2021/9/10 9:50 AM

09

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

0 阅读:1