- Excel VBA范例大全
- 羅剛君編著
- 1803字
- 2018-12-29 15:15:33
第15章 管理條件格式規則
一個區域可以添加多個條件格式,而條件與條件之間有可能產生沖突,這就需要對各條件進行相應的管理。條件格式可以為工作帶來無窮便利,但大量使用會使工作簿速度降低,這也迫使用戶需要對已存在的條件進行適當增刪。
● 實例114在已有條件格式區域增加條件
● 實例115刪除條件格式
● 實例116修改工作表中的條件格式
● 實例117提升第三個條件優先級為1
實例114 在已有條件格式區域增加條件
【技巧說明】 在已有條件格式區域增加一個條件。
【案例介紹】 如圖3.16所示之學生成績表,A列區域已有一個條件格式,對成績為“優”者以黃色底紋顯示。現需增加一個條件:成績為“差”者用紅色底紋顯示。
【案例實現】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進入VBE(Visual Basic Editor)環境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub新增一個條件格式() With Selection .FormatConditions.Add Type:=xlExpression, Formula1:="=OFFSET (A3,0,5)=""差""" .FormatConditions(.FormatConditions.Count).SetFirstPriority With .FormatConditions(1).Interior .PatternColorIndex=xlAutomatic .ColorIndex=3 .TintAndShade=0 End With End With End Sub
[4] 關閉VBE窗口返回到工作表。
[5] 使用快捷鍵Alt+F8調出運行宏窗口,然后單擊“執行”按鈕,結果如圖3.17所示。

圖3.16 學生成績表

圖3.17 新增一個條件格式
提示
本實例參見光盤樣本:..\第3部分\實例114.xlsm。
實例115 刪除條件格式
【技巧說明】 刪除區域已有的條件格式。
【案例介紹】 工作簿中不需要條件格式時需將其刪除,可以刪除部分單元格的條件,也可以刪除當前表的所有條件。以實例114的數據為例,工作表的A3∶A11同時具有雙重條件格式。
【案例實現】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進入VBE(Visual Basic Editor)環境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub刪除條件格式() MsgBox "稍后刪除當前選區的條件格式。", 64, "提示" Selection.FormatConditions.Delete MsgBox "稍后刪除當前工作表的條件格式。", 64, "提示" Cells.FormatConditions.Delete End Sub
[4] 關閉VBE窗口返回到工作表。
[5] 選中A3,使用快捷鍵Alt+F8調出運行宏窗口,然后單擊“執行”按鈕,彈出程序提示框提示“現在刪除當前選區的條件格式”,確定后工作表中當前選區的條件格式已刪除,如圖3.18所示。
[6] 再次彈出提示框,提示“現在刪除當前工作表的條件格式”,確定后工作表所有條件格式都已刪除,結果如圖3.19所示。

圖3.18 已刪除當前單元格的條件格式

圖3.19 已刪除當前表的條件格式
提示
本實例參見光盤樣本:..\第3部分\實例115.xlsm。
【相關知識說明】
FormatConditions.Delete:刪除條件格式。
實例116 修改工作表中的條件格式
【技巧說明】 修改工作表中第N個條件格式。
【案例介紹】 條件格式的顏色格式可以隨意修改為其他任意顏色,也可以將顏色格式改為邊框。本例以實例114的數據為例,修改任意條件下的顏色格式。
【案例實現】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進入VBE(Visual Basic Editor)環境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub修改第N個條件格式() Dim i As Byte i=Application.InputBox("請輸入要修改格式的條件序號:","序號","2",100,100,,,1) If i > Selection.FormatConditions.Count Or i < 1 Then Exit Sub Selection.FormatConditions(i).Interior.ColorIndex=5 End Sub
[4] 關閉VBE窗口返回到工作表。
[5] 選中A3∶A11,使用快捷鍵Alt+F8調出運行宏窗口,然后單擊“執行”按鈕,程序彈出輸入要修改格式的條件序號對話框,如圖3.20所示。
[6] 輸入2并單擊“確定”按鈕后,選區中第二條件格式的顏色格式由紅色變成了藍色,效果如圖3.21所示。

圖3.20 輸入要修改格式的條件序號對話框

圖3.21 更改條件格式的顏色格式
提示
本實例參見光盤樣本:..\第3部分\實例116.xlsm。
【相關知識說明】
本實例中IF…Then語句用于排錯,輸入數據不在條件格式數目范圍中時則程序出錯。
實例117 提升第三個條件優先級為1
【技巧說明】 提升第三個條件優先級為1。
【案例介紹】 一個區域中可以同時存在多個條件,而各個條件之間有可能產生沖突。即一個單元格同時符合多個條件,但同類型的格式如背景色卻只能顯示一種。此時條件格式的優先級就顯得尤為重要了。如圖3.22所示數據,其條件格式有三個,如圖3.23所示,其中單元格A8∶B8同時符合三個條件,它既高于平均值又處于前6個范圍,而且單元格數值等于8,但因為值為8這個條件處于最上層,所以單元格的格式顯示為黃色底紋。
本實例演示將第三層條件優先級提升為1,使A8∶B8背景色變為淺藍色。
【案例實現】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進入VBE(Visual Basic Editor)環境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。

圖3.22 區域中的多重條件格式

圖3.23 條件格式規則管理器
[3] 在右邊代碼窗口輸入以下代碼:
Sub提升優先級() Range("a2:b10").FormatConditions(3).SetFirstPriority End Sub
[4] 關閉VBE窗口返回到工作表。
[5] 選中A2∶B10,使用快捷鍵Alt+F8調出運行宏窗口,然后單擊“執行”按鈕,區域A2:B10背景色相應變化,如圖3.24所示。

圖3.24 將第三級條件提升為第一級后的區域
提示
本實例參見光盤樣本:..\第3部分\實例117.xlsm。
- Word排版技術大全(第2版)
- 五筆打字精品教程
- 游戲引擎原理與實踐·卷1:基礎框架
- Office 2016三合一職場辦公效率手冊
- Unity 2018 AR與VR開發快速上手
- Excel 2013應用技巧實例大全
- Excel 必修課:Excel表格制作與數據分析
- Photoshop+Illustrator平面設計案例實戰從入門到精通:視頻自學全彩版
- 中文PowerPoint 2003應用基礎
- 巧學巧用Excel:迅速提升職場效率的關鍵技能
- AutoCAD2015中文版從入門到精通
- Excel VBA基礎入門(第二版)
- PowerPivot for Advanced Reporting and Dashboards
- WPS Office高效辦公一本通:文字·表格·演示·PDF·腦圖
- Pentaho 5.0 Reporting by Example