VBA编程,如何对数字或字符设置为统一格式

No.1

Excel表操作当中,格式化的意思就是统一为某一种格式。

如字符长度统一为3位,数字长度统一为5位,小数位数2位,日期统一成"2021年2月5日"等等。

这种把字符或者数字统一为某种格式就称为格式化。

那么如何来实现这样的统一格式呢?

实际上,在对Excel表格进行设置的过程中,每时每刻都要进行这样的校对。

当然,Excel会自动为我们设置一些通用的格式,所以,在使用的时候,常常忽略了格式化设置,以默认方式来进行显示。

但是一个优秀的工作员工是一定要掌握格式设置的操作,不然会显得十分笨拙。

本节介绍Format函数,此函数就是设置字符或数值格式而设置的,是系统内置函数。

其语法如下图所示:

No.2

Format函数参数比较多,主要涉及到对字符或数值格式定义,有一些复杂。

所以要记住所有的参数,也是不小的难度,但也没必要记住。

这里简单截几张图了解一下常用参数。

下图为字符或数值的格式。

这个格式指的是其表达的意思是,根据被格式化的字符或数值的值或形式,对应选择哪一种格式。

这个理解有点困难,意思就是根据被格式化的字符串或数据的不同而选择不同的数据格式。

如:

dim str1 as string,str2 as string
str1="ABC"
str2=""
msgbox vba.Format(str1,"@;Null")'输出“ABC”
msgbox vba.Format(str2,"@;Null")'输出Null

可以看到上面的例子,一个输出字符值,一个却输出了Null,而这个Null正是我们设置的一个输出值,当然也可以设置为任何字符。如此就区分出这个字符串是有字符还是个空字符串。

工作表中的应用就随心所欲了。

字符串可设设置两个部分,也就是说有两个选择项目,一个有值,一个空值或Null。

数值格式分四个部分,分别为第一部分正值的情况下格式,第二部分负值格式,第三部分零值格式,第四部分Null值格式。

实际应用中,并不会把这四个部分全部写出来。如只写一个部分,那么就表示无论数值为正负零或Null,全部实用于此格式。

例:

Format(123456789,"#;-#;0;Null")

No.3

常用字符串格式

常用字符串格式字符代码,有"@"、"&"、"<"、">"、"!"五个字符。

具体代表意义可查看上图。

下图为数字格式字符代码:

下面以一个实例来说明一下数值和字符格式设置的一些方法:

上图为执行Format函数后的结果,其设置格式在表格中也有体现。

具体看代码:

Private Sub CommandButton1_Click()
Dim cell As Range
Set cell = Range("B4:B8")'定义区域
ShowFormat cell'执行格式化
End Sub

格式化过程:

Private Sub ShowFormat(Fcell As Range)
    Dim xc As Range
    For Each xc In Fcell'遍历区域
    With xc.Offset(0, 3)
            .Value = VBA.Format(VBA.Trim(xc.Value), xc.Offset(0, 1).Value)
    End With
Next xc
End Sub

本节只讲了一下如何设置数值和字符,其实更多的格式化设置还有日期和时间类型。

Format函数是一个不断学习的函数,不可能一次性完全掌握,所以在遇到不同类型数据要进行格式化的时候,再对照表进行使用和学习,对于一些基本的字符格式记住即可提供日常办公所需要。

欢迎关注、收藏。

举报
评论 0