分享

Excel VBA解读(62):设置数字格式

 L罗乐 2017-06-09

 

Excel的数字格式非常丰富,看看“设置单元格格式”对话框中的“数字”选项卡中的分类就知道了。我们可以使用这个对话框设置各种数字格式,并且能够自定义数字格式。

 

如下图所示的工作表,使用分类中的“数值”将单元格A1中的数字格式设置成保留2位小数,使用分类中的“自定义”将单元格A2中的数字格式设置成邮政编码,即保留前导0

使用录制宏录制上述操作,代码如下:

 

可以看出,在VBA中使用NumberFormatLocal属性来定义数据格式。该属性的语法如下:

Range对象.NumberFormatLocal

说明

  • 返回或者设置一个Variant值,该值以用户语言表示的字符串作为对象的格式代码。

  • 格式代码字符串与“设置单元格格式”对话框中的“类型”框中的字符串相同。

  • 如果指定单元格区域的所有单元格没有相同的数字格式,那么该属性返回Null

  • NumberFormat属性与NumberFormatLocal属性,只是NumberFormatLocal属性是以最终用户的语言来设置或获得单元格的数字格式。

 

现在,我们使用下面的代码获取上文中工作表单元格A1A2中的数字格式:

运行代码后的结果如下图所示:

 

示例1:单元格数值 VS. 单元格文本值

下面的示例来源于VBA官方帮助文档,演示了包含数字格式的单元格中数值与文本值的不同。

运行代码后的结果如下图所示:

说明

  • 运用数字格式后,单元格中显示的值并不是实际值。

  • 使用Value属性获取实际值。

  • 使用Text属性获取文本值。Text属性返回或者设置单元格中的文本。

 

示例2:获取单元格数字格式

下面的函数用于获取单元格的数字格式:

在代码模块中输入上述代码后,回到Excel工作表中,像使用工作表函数一样在某单元格中输入=getnumberformatstring(A1),即可显示单元格A1中的数字格式。效果如下图所示:

 

示例3:统计单元格区域中某数字格式出现的次数

下面的函数过程统计指定单元格区域中某数字格式出现的次数:

说明

  • 参数rng为要统计的单元格区域。

  • 参数strFormat为格式字符串。

  • cell.NumberFormat获取单元格中的格式字符串。

 

示例4:将所选单元格区域中的电话号码设置为指定格式

如下图所示的工作表,需要将单元格中的电话号码转换为区号加横线加电话号码的格式:

代码如下:

 

示例5:将数字格式化为文本

如下图所示,将列A中的数值格式化为文本。

代码如下:

 

示例6:替换格式

如下图所示的工作表,用三位小数的格式替换二位小数的格式。

代码如下:

说明

 


 

如果您对本文介绍的内容还有什么好的示例,欢迎发送邮件给我:xhdsxfjy@163.com

也可以在本文下方留言,提出您的看法或建议。

本文属原创文章,转载请联系我或者注明出处。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多