沒有對單元格進行格式操作的工作表是平淡無奇的,缺乏表現(xiàn)力,也辜負了Excel為我們準備的大量格式排版功能。因此,我們通常會對單元格進行一些格式排版操作,例如將表頭字體加粗并設置不同的背景色、使用顏色突出顯示需要關注的單元格等,從而制作出一張漂亮的工作表,讓工作表生動起來。
前面介紹文章的中已經(jīng)接觸過使用VBA格式單元格的一些代碼,本文將作更進一步的介紹。應該說,對單元格進行格式化是Excel中的常用操作之一。當我們找到滿足條件的單元格或單元格區(qū)域后,不僅會對這些單元格數(shù)據(jù)進行提取和分析,也會對它們應用相應的格式。在后續(xù)系列文章中,我們也會在示例中用到單元格格式的代碼,因此本文對應用單元格格式進行初步講解,以方便后續(xù)演示示例的理解。
通常,我們會給單元格中的文本加粗或者給特定單元格添加背景色,從而將某些單元格突出顯示出來,或者通過應用格式使工作表易讀性更強。 下面是Excel錄制宏所錄制的這兩種操作的VBA代碼。 (單擊“開發(fā)工具——錄制宏”命令,對工作表中進行相應的格式化操作,然后,單擊“開發(fā)工具——停止錄制”)
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是表示顏色的函數(shù),可以通過3個參數(shù)組合出不同的顏色來) 也可以使用下面的代碼: 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函數(shù)里的參數(shù)值進行試驗,或者改變ColorIndex屬性的值進行試驗,直到獲得自已滿意的顏色。
好了,就簡單地介紹到這里。 關于Font對象和Interior對象的其它屬性可以進行試驗,并對照工作表中“設置單元格格式”對話框里相應的操作進行理解。
-------------------------------------- 如果您對本文介紹的內容有什么建議或好的示例,歡迎發(fā)送郵件給我:xhdsxfjy@163.com
文章轉載請注明出處!
|
|