分享

#Excel VBA#解读(33):装修匠来了——初步应用单元格格式

 L罗乐 2016-10-14

没有对单元格进行格式操作的工作表是平淡无奇的,缺乏表现力,也辜负了Excel为我们准备的大量格式排版功能。因此,我们通常会对单元格进行一些格式排版操作,例如将表头字体加粗并设置不同的背景色、使用颜色突出显示需要关注的单元格等,从而制作出一张漂亮的工作表,让工作表生动起来。

前面介绍文章的中已经接触过使用VBA格式单元格的一些代码,本文将作更进一步的介绍。应该说,对单元格进行格式化是Excel中的常用操作之一。当我们找到满足条件的单元格或单元格区域后,不仅会对这些单元格数据进行提取和分析,也会对它们应用相应的格式。在后续系列文章中,我们也会在示例中用到单元格格式的代码,因此本文对应用单元格格式进行初步讲解,以方便后续演示示例的理解。

通常,我们会给单元格中的文本加粗或者给特定单元格添加背景色,从而将某些单元格突出显示出来,或者通过应用格式使工作表易读性更强。

下面是Excel录制宏所录制的这两种操作的VBA代码。

(单击开发工具——录制宏命令,对工作表中进行相应的格式化操作,然后,单击开发工具——停止录制

1、将单元格B2中的文本加粗,如下图所示。


录制的代码如下:

Sub 3()

'

' 3

'

'

Range('B2').Select

Selection.Font.Bold = True

End Sub

初识Font对象

正如上面所录制的给文本加粗的代码所演示的,如果你要对单元格中的文本进行操作,就要用到Font对象。

Font对象包含单元格中文本字体的属性设置,如下图所示,图中标示了各种属性设置所对应的Font对象的属性。


观察录制的代码:

Selection.Font.Bold = True

单元格对象Selection对象的Font属性返回一个Font对象,代表该单元格对象中的字体。然后,使用Font对象的属性对单元格字体进行设置。

例如,代码:

Range('B2').Font.Name = '宋体'

将单元格B2中的文本字体设置为宋体

Range('B2').Font.Color = RGB(255,0, 0)

将单元格B2中的文本颜色设置为红色。(RGB是表示颜色的函数,可以通过3个参数组合出不同的颜色来)

也可以使用下面的代码:

Range('B2').Font.ColorIndex = 3

将单元格B2中的文本颜色设置为红色。ColorIndex属性可以设置或获取文本的颜色值,上述代码表明在当前调色板中红色的索引值为3。因此,如果你想获取当前文本的颜色值,可以使用ColorIndex属性。

2、给单元格B2添加蓝色的背景色,如下图所示。


录制的代码如下:

Sub 4()

'

' 4

'

'

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.Color = 12611584

.TintAndShade = 0

.PatternTintAndShade = 0

End With

End Sub

初识Interior对象

正如上面所录制的给单元格添加背景的代码所演示的,如果你要对单元格背景进行操作,就要用到Interior对象。

Interior对象包含给单元格添加背景的属性设置,如下图所示,图中重点标示了设置或获取单元格背景填充色所对应的Color属性和ColorIndex属性。


观察所录制的代码:

Selection.Interior.Color = 12611584

所选单元格对象(这里是单元格B2)的Interior属性返回一个Interior对象,代表该单元格背景。然后,使用Interior对象的Color属性设置该单元格背景色为蓝色。

下面的代码将单元格B2的背景色设置为蓝色:

Range('C6').Interior.ColorIndex =23

下面的代码将单元格C8的背景色设置为灰色:

Range('C8').Interior.Color =RGB(125, 125, 125)

注:如何在代码中选择想要的颜色?一种方法是使用录制宏,在工作表中使用相应的操作设置颜色后,查看录制的代码,将相应的代码应用到自已的代码中;另一种方法是在代码中改变RGB函数里的参数值进行试验,或者改变ColorIndex属性的值进行试验,直到获得自已满意的颜色。

好了,就简单地介绍到这里。

关于Font对象和Interior对象的其它属性可以进行试验,并对照工作表中“设置单元格格式”对话框里相应的操作进行理解。

--------------------------------------

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

文章转载请注明出处!

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多