『壹』 excel選項卡顏色變化
Excel中有時候為了更好地顯示所選擇的單元格,會將單元格所在行與列用顏色標識出來以達到效果,如何才能實現自動將所選單元格對應的行與列的顏色自動改變呢?今天就介紹一種利用條件格式與VBA代碼實現選擇單元格後所在行列自動變色的方法。
開啟分步閱讀模式
工具材料:
Office2013
操作方法
01
Ctrl+A將Excel單元格全選(如果只需要設置部分區域實現選擇單元格行列變色的效果,那麼這里就選擇這個「部分區域」),點擊「開始」選項卡中的「條件格式」,選擇「新建規則」,如下圖所示:
02
「選擇規則類型」中選擇「使用公式確定要設置格式的單元格」,並在下面的文本框中輸入公式:=(CELL("row")=ROW())+(CELL("col")=COLUMN())
公式解釋:公式分兩部分,第一部分:(CELL("row")=ROW())——利用cell(「row」)函數獲得條件格式區域單元格的行號與利用row行數獲得的當前單元格行號進行比較,如果相等則返回TRUE,否則返回FALSE;第二部分(CELL("col")=COLUMN())——利用cell(「col」)函數獲得條件格式區域單元格的列數與利用column行數獲得的當前單元格列進行比較,如果相等則返回TRUE,否則返回FALSE;兩部分相加,即滿足其中任意一個條件就返回TRUE,觸發條件格式,都不滿足時才返回FALSE無法出發條件格式。
03
然後點擊右下角的「格式」,進入格式設置對話框,這里設置填充底色為黃色,如下圖所示:
04
點擊確定後,返回Excel,可以看到第一行和第一列已經填充了黃色,但是這個顏色並不會隨著選擇的單元格而變化,如下圖所示:
05
按下Alt+F11,打開VBE界面,選擇左側的當前工作表,並在右側空白處復制粘貼如下代碼:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
Application.ScreenUpdating = False
Application.ScreenUpdating = True
End Sub
代碼解釋:當選擇單元格時觸發代碼,代碼內容為重新計算。也就是每次選擇單元格,會執行重新計算的VBA代碼,因此條件格式中的公式會重新計算,使得當前選擇的單元格對應的行列變色。另外,添加強制屏幕刷新是要消除可能存在的顯示Bug。
06
返回Excel,這樣就實現了選擇單元格,這個單元格對應的行列變色,如下圖所示:
特別提示
如果單元格設置的格式與條件格式沖突(例如都設置了填充底色),則會變條件格式臨時覆蓋,選擇其他單元格後,原來的格式又會出現,也就是說不會影響原來的設置。
『貳』 Access資料庫編程案例-顏色碼數制轉換(人教版《信息技術》必修第一冊P17例題,基於VBA)
案例來源介紹
本案例源於人民教育出版社《信息技術》教材的第17頁,題目為「顏色碼的數制轉換」。例題展示了在計算機中RGB(紅、綠、藍)顏色值通過十六進制顏色碼表示,如RGB(64,224,208)在十六進制下表示為#40E0D0。例題要求將#9400D3和#D2B48C表示成RGB顏色值,並驗證結果。
案例設計及編程
本次分享旨在通過VBA代碼實現顏色碼數制轉換與顏色展示的自動化,設計了一個基於Access資料庫的軟體案例。該案例旨在直觀演示不同RGB值下的顏色變化,並將10進制RGB數字轉化為16進制數字。
需求分解
案例需求包括:創建一個Access窗體,設置3個文本框控制RGB值,更改文本框值時窗體顏色自動更新。頁眉、圖片背景及正方形的顏色亦應根據文本框值變化。
代碼層次
案例代碼分為核心代碼與調用代碼兩部分。核心代碼負責文本框值更新與顏色變化,調用代碼在文本框更改時調用核心代碼。
核心代碼顏色變換
核心代碼包含兩段,分別用於更改文本框中的RGB值,以及將10進制RGB值轉化為16進制。這段代碼通過設置變數讀取文本框值,確保值在0到255之間,並自動更新窗體、頁眉和圖片背景顏色。
調用代碼
調用代碼在文本框更新時觸發核心代碼執行,實現自動化顏色變化。
代碼講解
核心代碼邏輯清晰,通過讀取文本框值並驗證范圍,自動更新顏色,代碼簡潔。調用代碼則負責在文本框更新時調用核心代碼,實現自動化。
總結
案例包含三個關鍵知識點:Access控制項顏色更改技術、10進制到16進制轉換、窗體自動化技術。通過控制文本框值實現顏色變化,VBA編程技術並不復雜,但需要關注細節處理與代碼結構優化。