- Excel VBA范例大全
- 羅剛君編著
- 1544字
- 2018-12-29 15:15:35
第17章 按顏色排序
Excel 2007新增按顏色排序功能,更廣泛地滿足了用戶需求。
按顏色排序和按數(shù)值排序在對(duì)選區(qū)內(nèi)數(shù)據(jù)的處理上稍有不同。按數(shù)值或者文本排序會(huì)對(duì)區(qū)域內(nèi)每一個(gè)單元格的數(shù)據(jù)進(jìn)行比較判斷,調(diào)整順序;而按顏色排序是以選中區(qū)域中激活的單元格(即背景反白顯示的單元格,不管選中多少區(qū)域,活動(dòng)單元格只有一個(gè))顏色為標(biāo)準(zhǔn),對(duì)顏色一致的單元格排在最頂端或者最底端,其余顏色的數(shù)據(jù)順序不變,不會(huì)將同顏色但分散存放的數(shù)據(jù)集中在一個(gè)區(qū)域。
● 實(shí)例123按單元格背景顏色對(duì)當(dāng)前列排序
● 實(shí)例124按單元格字體顏色對(duì)當(dāng)前列排序
● 實(shí)例125按字體顏色擴(kuò)展排序
實(shí)例123 按單元格背景顏色對(duì)當(dāng)前列排序
【技巧說(shuō)明】 按單元格背景顏色對(duì)當(dāng)前列當(dāng)前區(qū)域排序。
【案例介紹】 將當(dāng)前列當(dāng)前區(qū)域中數(shù)據(jù)背景色與當(dāng)前單元格背景色一致的排在頂端。初始數(shù)據(jù)如圖4.11所示。
【案例實(shí)現(xiàn)】 參見(jiàn)以下步驟:
[1] 使用快捷鍵Alt+F11進(jìn)入VBE(Visual Basic Editor)環(huán)境。
[2] 單擊菜單【插入】\【模塊】,打開(kāi)模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub按單元格背景顏色對(duì)當(dāng)前列已用區(qū)域排序 () With ActiveWorkbook.ActiveSheet.Sort .SortFields.Clear .SortFields.Add(ActiveCell,xlSortOnCellColor,xlAscending,,xlSortNormal) .SortOnValue.Color=ActiveCell.Interior.Color .SetRange Application.Intersect(ActiveCell.EntireColumn, ActiveCell.CurrentRegion) .Apply End With End Sub
[4] 關(guān)閉VBE窗口返回到工作表。
[5] 選中A7單元格,用快捷鍵Alt+F8調(diào)出運(yùn)行宏窗口,然后單擊“執(zhí)行”按鈕,當(dāng)前區(qū)域中與當(dāng)前單元格A7背景色一致的單元格數(shù)據(jù)自動(dòng)移至最頂端,不包括A10∶A14區(qū)域,如圖4.12所示。

圖4.11 待排序的原始數(shù)據(jù)

圖4.12 已按單元格背景顏色排序的數(shù)據(jù)
提示
本實(shí)例參見(jiàn)光盤(pán)樣本:..\第4部分\實(shí)例123.xlsm。
【相關(guān)知識(shí)說(shuō)明】
ActiveCell.Interior.Color:當(dāng)前單元格的背景色。本例中表示排序條件。
實(shí)例124 按單元格字體顏色對(duì)當(dāng)前列排序
【技巧說(shuō)明】 按單元格字體顏色對(duì)當(dāng)前列已用區(qū)域進(jìn)行排序,所選字體顏色排在最底端。
【案例介紹】 將當(dāng)前列當(dāng)前區(qū)域中數(shù)據(jù)的字體顏色與當(dāng)前單元格字體顏色一致的排在底端。初始數(shù)據(jù)如圖4.13所示。
【案例實(shí)現(xiàn)】 參見(jiàn)以下步驟:
[1] 使用快捷鍵Alt+F11進(jìn)入VBE(Visual Basic Editor)環(huán)境。
[2] 單擊菜單【插入】\【模塊】,打開(kāi)模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub按單元格字體顏色對(duì)當(dāng)前列排序且無(wú)標(biāo)題() With ActiveWorkbook.ActiveSheet.Sort .SortFields.Clear '清除原排序信息 .SortFields.Add(ActiveCell,xlSortOnFontColor,xlDescending,,xlSortNormal) .SortOnValue.Color=ActiveCell.Font.Color .SetRange Application.Intersect(ActiveCell.EntireColumn, ActiveCell.CurrentRegion) .Apply End With End Sub
[4] 關(guān)閉VBE窗口返回到工作表。
[5] 選中A3單元格,用快捷鍵Alt+F8調(diào)出運(yùn)行宏窗口,然后單擊“執(zhí)行”按鈕,當(dāng)前區(qū)域中與當(dāng)前單元格A3字體顏色一致的單元格數(shù)據(jù)自動(dòng)移至最底端,不包括A10∶A14區(qū)域,如圖4.14所示。

圖4.13 待排序的原始數(shù)據(jù)

圖4.14 已按單元格字體顏色排序的數(shù)據(jù)
提示
本實(shí)例參見(jiàn)光盤(pán)樣本:..\第4部分\實(shí)例124.xlsm。
【相關(guān)知識(shí)說(shuō)明】
ActiveCell.Font.Color:當(dāng)前單元格的字體顏色。本例中表示排序條件。
實(shí)例125 按字體顏色擴(kuò)展排序
【技巧說(shuō)明】 按單元格字體顏色對(duì)擴(kuò)展區(qū)域排序且有標(biāo)題。
【案例介紹】 將當(dāng)前列中字體顏色與當(dāng)前單元格字體顏色一致的數(shù)據(jù)排在頂端,已用區(qū)域中其他列的數(shù)據(jù)相應(yīng)調(diào)整,即對(duì)擴(kuò)展區(qū)域排序。初始數(shù)據(jù)如圖4.15所示。
【案例實(shí)現(xiàn)】 參見(jiàn)以下步驟:
[1] 使用快捷鍵Alt+F11進(jìn)入VBE(Visual Basic Editor)環(huán)境。
[2] 單擊菜單【插入】\【模塊】,打開(kāi)模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub按單元格字體顏色擴(kuò)展區(qū)域排序且有標(biāo)題() With ActiveWorkbook.ActiveSheet.Sort .SortFields.Clear .SortFields.Add(ActiveCell, xlSortOnFontColor, xlAscending, , xlSortNormal) .SortOnValue.Color=ActiveCell.Font.Color .SetRange Application.Intersect(Selection.CurrentRegion, Selection.CurrentRegion.Offset(1, 0)) '區(qū)域 .Apply End With End Sub
[4] 關(guān)閉VBE窗口返回到工作表。
[5] 選中A7單元格,用快捷鍵Alt+F8調(diào)出運(yùn)行宏窗口,然后單擊“執(zhí)行”按鈕,當(dāng)前列中與當(dāng)前單元格A7字體顏色一致的單元格數(shù)據(jù)自動(dòng)移至最頂端,B列和C列擴(kuò)展區(qū)域?qū)?yīng)A列進(jìn)行調(diào)整順序,如圖4.16所示。

圖4.15 待排序的原始數(shù)據(jù)

圖4.16 已將擴(kuò)展數(shù)據(jù)區(qū)域排序
提示
本實(shí)例參見(jiàn)光盤(pán)樣本:..\第4部分\實(shí)例125.xlsm。
【相關(guān)知識(shí)說(shuō)明】
本實(shí)例與前面兩例有兩點(diǎn)不同:有標(biāo)題、擴(kuò)展區(qū)域參與排序。在編代碼時(shí)僅需要修改Sort的范圍參數(shù)SetRange即可。
實(shí)例124中使用以下區(qū)域(表示當(dāng)前列中的已用區(qū)域,僅限于當(dāng)前列):
Intersect(ActiveCell.EntireColumn, ActiveCell.CurrentRegion)
本實(shí)例中使用已用區(qū)域(表示已用區(qū)域與已用區(qū)域向下偏移一行和合集,即排除第一行,這就對(duì)排序的區(qū)域進(jìn)行了擴(kuò)展,是已用區(qū)域,而非限于當(dāng)前列,同時(shí)排除了首行,即標(biāo)題不參與排序):
Intersect(Selection.CurrentRegion, Selection.CurrentRegion.Offset(1, 0))
- 五筆打字精品教程
- WPS Office 2019 高效辦公
- Word辦公應(yīng)用案例教程
- Excel辦公高手應(yīng)用技巧
- Excel高效辦公:VBA范例應(yīng)用(修訂版)
- Office辦公應(yīng)用技巧
- PPT職場(chǎng)利器:PPT商務(wù)應(yīng)用案例大全
- Access VBA活用范例手冊(cè)
- 掌中寶:Office辦公高手應(yīng)用技巧
- Excel 2010 SQL完全應(yīng)用
- Office2021完全自學(xué)教程
- 辦公自動(dòng)化綜合案例應(yīng)用教程
- Office 2007案例教程
- 學(xué)Office 2007辦公應(yīng)用
- 左手Excel右手Tableau數(shù)據(jù)分析可視化入門(mén)案例視頻精講