《VBA之Excel应用》(版权10178983)是非常经典的,是我推出的第七套教程,定位于初级,目前是第一版修订。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用EXCEL工作过程中需要掌握的知识点,希望大家能掌握利用。今日讲解的内容是:VBA之Excel应用第四章第十二节:Range对象的Font属性和Interior属性
【分享成果,随喜正能量】37凡事不必忧愁,佛缘俱足的你,自有菩萨暗中助力,一切都会越来越好。不要说谎,说谎说多了,信的不是别人,而是自己。行走只是活着,漫步才是生活。
第四章单元格(Range)对象
大家好,我们这章开始学习单元格对象。单元格(Range)对象是Excel VBA中最重要的对象之一。本章概述了Range对象的属性和方法,包括如何声明一个单元格对象,如何选择单元格对象,以及对行、列的操作,还讲解了如何对单元格进行复制、粘贴、清除、计数,以及对当前区域CurrentRegion的讲解,还涉及到单元格的联合与交叉等。通过这章的学习,大家会更清楚地看到VBA的结构,以及在实际工作中VBA的综合利用。

第十二节Range对象的Font属性和Interior属性
大家好,我们这讲讲解单元格对象的常用属性:Font属性和Interior属性。这两个属性与单元格的样式联系非常紧密,我们可以通过改变这个属性来完成对单元格的设置。
在Excel VBA中,Range对象的这两个属性允许访问很多其他属性。这是因为Font属性和Interior属性本身都返回一个对象,分别为Font对象和Interior对象。Font对象有许多属性,比如Color属性和Bold属性。Interior对象的ColorIndex属性可以设置单元格的背景颜色。下面我们就来逐一讲解各个属性的意义。
1Range.Font属性
这个属性返回一个Font对象, 该对象代表指定对象的字体。
语法:expression.Font
expression 为一个表示 Range 对象的变量。
2Font.Color 属性
返回或设置对象的主要颜色。使用RGB函数可创建颜色值。
语法:expression.Color
Expression为一个返回Font对象的表达式。
3Font.Bold 属性
如果字体的颜色是加粗那么这个属性为TRUE
语法:expression.Bold
Expression为一个返回Font对象的表达式。
4Range.Interior属性
这个属性返回一个 Interior 对象,表示指定的对象的内部。
语法:expression.Interior
expression 为一个表示 Range 对象的变量。
5Interior.ColorIndex属性
这个属性返回或设置一个Variant 值,它代表内部颜色。
语法:expression.ColorIndex
expression一个代表Interior对象的变量。
6Font属性和Interior属性的应用示例
1)以下代码将返回A1单元格字体名称
Range("A1").Font.Name
2)以下代码将 Sheet1 中 A1 单元格的内部颜色设为蓝绿色
Worksheets("Sheet1").Range("A1").Interior.ColorIndex = 8
7Font属性和Interior属性的实例应用
Interior的ColorIndex属性允许访问包含56种颜色的调色板,这个例子我们要通过一段代码在工作表中显示各种数值对应的颜色,并将数值写在对应的单元格上,字体的颜色为白色,对于一些显示不清楚的单元格字体设置为黑色。
我们看下面的代码:
Sub mynzT() 'Font属性和Interior属性的实例应用
Dimi As Integer, j As Integer
Cells.Font.Bold= True
Cells.Font.Color= RGB(255, 255, 255)
Range("B1").Font.Color= RGB(0, 0, 0)
Range("F1").Font.Color= RGB(0, 0, 0)
Range("H1").Font.Color= RGB(0, 0, 0)
Range("C3").Font.Color= RGB(0, 0, 0)
Range("D3").Font.Color= RGB(0, 0, 0)
Range("C4").Font.Color= RGB(0, 0, 0)
Range("D4").Font.Color= RGB(0, 0, 0)
Rows(5).Font.Color= RGB(0, 0, 0)
Fori = 1 To 7
Forj = 1 To 8
Cells(i,j).Value = 8 * (i - 1) + j
Cells(i,j).Interior.ColorIndex = 8 * (i - 1) + j
Nextj
Nexti
End Sub
代码截图:

代码解读:
1)Cells.Font.Bold = True
以上代码设置字体是加粗的。
2)Cells.Font.Color = RGB(256, 256, 256)
以上代码设置字体的颜色是白色。
3)Range("B1").Font.Color = RGB(0, 0, 0)
以上代码设置B1单元格的字体颜色是黑色。
4)For i = 1 To 7
Forj = 1 To 8
Cells(i,j).Value = 8 * (i - 1) + j
Cells(i,j).Interior.ColorIndex = 8 * (i - 1) + j
Next
Next
以上代码利用了一个嵌套的FOR NEXT循环来完成颜色数值及颜色的填充。
下面我们看看代码运行的效果:

lRGB(R,G,B)函数:代表红、绿、蓝三种原色的组合。每个参数的值可以从0到255。如RGB(255,0,0)给出纯红色,与ColorIndex = 3产生完全相同的结果。
lRange("A1").Interior.ColorIndex = 0 代表A1单元格无填充颜色
今日内容回向:
1)Font属性和Interior属性的意义是什么,有什么作用?
2)如何列出调色板的颜色?
3)RGB函数的意义是什么?
本讲内容参考程序文件:工作簿04.xlsm

我20多年的VBA成果全在下面的资料中:



