《VBA代碼解決方案》(版權10028096)這套教程是我最早推出的教程,目前已經是第三版修訂了。這套教程定位于入門后的提高,在學習這套教程過程中,側重點是要理解及掌握我的“積木編程”思想。要靈活運用教程中的實例像搭積木一樣把自己喜歡的代碼擺好。
這套教程共三冊,一百四十七講,內容覆蓋較廣,也是初級和中級間的過渡教程,改版后的內容主要是提供程序源碼文件及代碼修正為32位和64位兼用代碼。今后一段時間會給大家陸續推出。今日的內容是VBA代碼解決方案第十五講:如何對單元格區域進行高亮顯示
【分享成果,隨喜正能量】不要對任何人,對任何事物心懷絲毫的敵意,這是讓自己獲得身心健康的第一原則。。
第十五講 如何對單元格區域進行高亮顯示
大家好,今日的內容是第十五講,如何利用VBA代碼完成對選擇區域單元格的高亮顯示。在實際工作中VBA方案的應用非常的廣泛,巧妙的利用這些方案可以提高自己的工作效率,同時可以增加自己程序的美觀效果。
1 利用ColorIndex屬性對活動單元格區域進行突出顯示
如果希望以某種方式突出顯示活動單元格或者指定的單元格區域,從而一目了然地獲得某些信息,那么可以高亮顯示活動單元格區域,如下面的代碼所示。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlColorIndexNone
Target.Interior.ColorIndex = 36
End Sub
代碼截圖:
代碼解析:上述代碼實現了設置工作表當前選定區域單元格的內部填充顏色,以高亮顯示選定區域。這里設置的是淡黃色。
1) 第2行代碼將工作表中所有的單元格的內部填充顏色設置為xlColorIndexNone,即取消單元格的內部填充顏色。
2) 第3行代碼將工作表中選定單元格的內部填充顏色設置為36。應用于Interior對象的ColorIndex屬性返回或設置邊框內部的顏色。該顏色可指定為當前調色板中顏色的編號或為 XlColorIndex 常量之一:xlColorIndexAutomatic(指定對圖形對象自動填充)、xlColorIndexNone(用于指定無內部填充)。
運行效果:
2 突出顯示指定區域內的行和列
可以突出顯示指定區域內的行列,如下面的代碼所示。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Cells.Interior.ColorIndex = xlColorIndexNone
'Target.Interior.ColorIndex = 36
Cells.Interior.ColorIndex = xlNone
Set Rng = Application.Union(Target.EntireColumn, Target.EntireRow)
Rng.Interior.ColorIndex = 36
End Sub
代碼截圖:
代碼解析:設置工作表當前選定區域單元格內部填充顏色,高亮顯示活動單元格所在的行和列。
1) 第5行代碼使用Union方法將所選單元格所在的行、列連接起來成為一個區域。
2) 使用此方法時,工作表中所有設置的單元格內部填充顏色將會被清除。(不包括通過條件格式設置的單元格內部填充顏色)。
運行結果:
今日內容回向:
1 Worksheet_SelectionChange 動作的意義是什么?
2 Application.Union(Target.EntireColumn, Target.EntireRow) 的意義是什么?
3 讀者是否按照截圖實現了運行效果呢?
本講內容參考程序文件:VBA代碼解決方案(1-19).xlsm
我20多年的VBA實踐經驗,全部濃縮在下面的各個教程中: