《VBA经典应用69例》(版权10178981),是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容:VBA经典应用69例应用6:格式化代码中的双引号(””)和井号(#)
【分享成果,随喜正能量】作乐业得乐报,因果相契,为是处。作恶业希望乐报,因果相背,为非处,犹言无有是处」。这个解释也非常重要,解释正确没有错误,毕竟六道里面的众生留恋六道占绝大多数,不想舍离。他们在六道里头希望得福报,希望得福报要做善事,这个地方讲因缘果报。。
应用6 工作表中数值的格式化(NumberFormat)处理
这个专题的应用也是来源于给学员的答疑,格式(Format)是我们在处理工作表数据时必须要面对的问题,处理的好可以让整个工作表看起来赏心悦目,处理的不好,会给人以凌乱的感觉。我们这讲的内容将总结一下在工作表中如何格式化数据,处理方案仍是结合我们日常工作中的EXCEL操作来进行。
NumberFormat是Excel Range对象的属性。Range对象可以被视为一个单元格或一组单元格,可以是单个单元格、或者是一列或是工作表的UsedRange。NumberFormat属性可用于设置时间、日期、货币/会计格式和许多其他格式的格式。通过这种格式的设置,可以让信息以最佳方式传递给阅读者。例如,我们可以在长数字中加入一些逗号,可以在把小数点长的数字向上(或向下)舍入到最接近的2或3个小数点等等。此外,NumberFormat还可以用来设置一个自定义格式。
2 格式化代码中的双引号(””)和井号(#)
1)双引号("")
如下面的格式化语句,在格式化代码中,我们会看到双引号包含在另一组双引号中,这种写法是为了格式化参数能正常的传递。如:
Range("d5").NumberFormat = "#,###,,""M"""
上述写法要区分于我们利用Excel界面直接自定义格式的写法,如在excel自定义格式设置中是如下截图:
这点是与通过VBA完成格式设置的重要区别。
2)使用#与###
在格式设置的时候可以使用单个"#"符号,而不是列出当时不确定数量的“###”,因为 Excel 会将单个"#"符号转换为适当数量的"#"号标签。
例如,上述代码可以编写为#,#,,"M"而不是#,###,, "M"。当然,这种设置不适用于零,因为零清楚地表明必须将数字放置在这个位置,并指示 Excel 在没有实际值的情况下放置零。如使用格式代码"00"可以将"5"格式格式为"05"。格式化代码“?00”会将“5”格式化成“ 05”。
3 利用EXCEL界面完成格式化的设置
我先用一点时间给大家讲解一下如何利用EXCEL界面完成格式化设置,当然,这不是我们讲解的重点,我们主要是利用VBA来完成我们的设置。在EXCEL界面,我们可以做如下的操作:
1)右键单击要格式化的单元格
2)然后单击"格式单元格”
3)在弹出的对话框中选择自定义:
4)在类型字段中,插入格式代码:
5)按"确定"。
下面我们测试一下设置的效果,在单元格中任意输入一个数字,然后将光标移开这个单元格:
我们会看到如上截图的效果。
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: