009 設(shè)置單元格格式之字體
(文檔下載:關(guān)注本公眾號,發(fā)送消息【教程】即可獲得)
通過VBA對單元格字體進行設(shè)置也是比較常用的方式,那么本節(jié)內(nèi)容我們就來學(xué)習(xí)如何使用VBA對單元格中的字體進行設(shè)置。如圖所示,字體設(shè)置主要有,字體本身、字形、字號、下劃線、字體顏色及特殊效果這幾部分組成,下面我們進行逐一解析!
Q:設(shè)置區(qū)域A1:B5的字體為微軟雅黑,字體顏色為紅色,雙下劃線,斜體并且加粗,字號要求設(shè)置為15。
A:代碼如下:
Sub 案例038()
With Range('A1:B5').Font
.Name = '微軟雅黑' ‘字體
.ColorIndex = 3 ‘字體顏色
.Underline = xlUnderlineStyleDouble ‘下劃線
.Italic = True ‘是否為斜體
.Bold = True ‘是否加粗
.Size = 15 ‘字號
End With
End Sub
【解析】VBA對于字體的設(shè)置是非常簡單的,字體有專門的對象,即單元格子對象Font,該對象下面含有很多的屬性,具體如下:
另外,我們這里需要說明的是顏色的設(shè)置ColorIndex屬性,在Excel中通過VBA對對象設(shè)置相關(guān)顏色均可以通過ColorIndex與Color這兩個屬性來完成,那么他們兩個之間有什么區(qū)別?
Color:設(shè)置對象顏色,該顏色值可以通過RGB函數(shù)獲得,比如設(shè)置顏色為紅色,則可以通過以下方式完成:
對象表達式.Color=RGB(255,0,0)
ColorIndex:該屬性取值范圍為1~56,它其實是顏色的索引,如下圖所示,這56個值代表的顏色:
所以這兩個屬性的區(qū)別在于其顏色可取范圍及使用的便利性,ColorIndex使用便利,但取值范圍有限,通過Color可以設(shè)置任意顏色,但使用便利性上稍稍遜色。
【擴展】如何使用VBA獲取當(dāng)前電腦中所有字體名稱?具體代碼如下:
Sub 案例039()
Dim fontlist As Object
Dim i As Integer
Set fontlist =Application.CommandBars('Formatting').FindControl(ID:=1728)
For i = 0 To fontlist.ListCount - 1
Cells(i 1, 1) = fontlist.List(i 1)
Next
End Sub
運行該程序,所有字體會輸出到當(dāng)前活動工作表的第一列中,該方法使用Application.CommandBars('Formatting').FindControl(ID:=1728)來獲取了字體設(shè)置的控件對象,并通過For語句來遍歷了所有字體名稱并輸出到表格中。
Q:如何設(shè)置單元格中第二個字符為上標,第三個字符為下標?
A:設(shè)置字體為上標可以設(shè)置Superscript屬性值為True來完成,而下標則可通過Subscript屬性來進行設(shè)置,但本案例的難度在于如何設(shè)置單元格中的某一個字符,具體代碼如下:
Sub 案例040()
Range('A2').Characters(Start:=2,Length:=1).Font.Superscript = True
Range('A2').Characters(Start:=3,Length:=1).Font.Subscript = True
End Sub
【解析】本案例的學(xué)習(xí)重點在于Characters對象的使用,該對象返回單元格中的某一段字符串,參數(shù)有Start及Length兩個,即截取單元格字符串中從某個位置開始,長度為特定長度的一段字符串對象,有了這個對象,我們就可以靈活的對單元格中的字符進行處理!
積跬步,至千里!懂得分享,才會快樂!
聯(lián)系客服