没有对单元格进行格式操作的工作表是平淡无奇的,缺乏表现力,也辜负了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对象的其它属性可以进行试验,并对照工作表中“设置单元格格式”对话框里相应的操作进行理解。