《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实践经验,全部浓缩在下面的各个教程中: