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

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

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

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

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

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

excel初步应用单元格格式

录制的代码如下:

Sub 宏3()

‘ 宏3 宏

Range(“B2”).Select

Selection.Font.Bold = True

End Sub

初识Font对象

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

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

excel初步应用单元格格式

观察录制的代码:

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添加蓝色的背景色,如下图所示。

excel初步应用单元格格式

录制的代码如下:

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属性。

excel初步应用单元格格式

观察所录制的代码:

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对象的其它属性可以进行试验,并对照工作表中“设置单元格格式”对话框里相应的操作进行理解。

发表回复