分享

VBA设置单元格格式之——字体

 L罗乐 2017-09-14

009 设置单元格格式之字体

(文档下载:关注本公众号,发送消息【教程】即可获得)


通过VBA对单元格字体进行设置也是比较常用的方式,那么本节内容我们就来学习如何使用VBA对单元格中的字体进行设置。如图所示,字体设置主要有,字体本身、字形、字号、下划线、字体颜色及特殊效果这几部分组成,下面我们进行逐一解析!


Q:设置区域A1:B5的字体为微软雅黑,字体颜色为红色,双下划线,斜体并且加粗,字号要求设置为15。

A:代码如下:

Sub 案例038()

    With Range('A1:B5').Font

        .Name = '微软雅黑'                           ‘字体

        .ColorIndex = 3                                 ‘字体颜色

        .Underline = xlUnderlineStyleDouble       ‘下划线

        .Italic = True                                      ‘是否为斜体

        .Bold = True                                      ‘是否加粗

        .Size = 15                                          ‘字号

    End With

End Sub

【解析】VBA对于字体的设置是非常简单的,字体有专门的对象,即单元格子对象Font,该对象下面含有很多的属性,具体如下:

另外,我们这里需要说明的是颜色的设置ColorIndex属性,在Excel中通过VBA对对象设置相关颜色均可以通过ColorIndex与Color这两个属性来完成,那么他们两个之间有什么区别?

Color:设置对象颜色,该颜色值可以通过RGB函数获得,比如设置颜色为红色,则可以通过以下方式完成:

对象表达式.Color=RGB(255,0,0)

ColorIndex:该属性取值范围为1~56,它其实是颜色的索引,如下图所示,这56个值代表的颜色:

所以这两个属性的区别在于其颜色可取范围及使用的便利性,ColorIndex使用便利,但取值范围有限,通过Color可以设置任意颜色,但使用便利性上稍稍逊色。

 

【扩展】如何使用VBA获取当前电脑中所有字体名称?具体代码如下:

Sub 案例039()

    Dim fontlist As Object

    Dim i As Integer

    Set fontlist =Application.CommandBars('Formatting').FindControl(ID:=1728)

    For i = 0 To fontlist.ListCount - 1

        Cells(i 1, 1) = fontlist.List(i 1)

    Next

End Sub

 

运行该程序,所有字体会输出到当前活动工作表的第一列中,该方法使用Application.CommandBars('Formatting').FindControl(ID:=1728)来获取了字体设置的控件对象,并通过For语句来遍历了所有字体名称并输出到表格中。

 

Q:如何设置单元格中第二个字符为上标,第三个字符为下标?

A:设置字体为上标可以设置Superscript属性值为True来完成,而下标则可通过Subscript属性来进行设置,但本案例的难度在于如何设置单元格中的某一个字符,具体代码如下:

Sub 案例040()

    Range('A2').Characters(Start:=2,Length:=1).Font.Superscript = True

    Range('A2').Characters(Start:=3,Length:=1).Font.Subscript = True

End Sub

【解析】本案例的学习重点在于Characters对象的使用,该对象返回单元格中的某一段字符串,参数有Start及Length两个,即截取单元格字符串中从某个位置开始,长度为特定长度的一段字符串对象,有了这个对象,我们就可以灵活的对单元格中的字符进行处理!


积跬步,至千里!懂得分享,才会快乐!




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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多