使用 Excel VBA 自動更改儲存格顏色:依據列的第一列值進行判斷

更新於 2024/10/09閱讀時間約 5 分鐘

在 Excel 中,我們經常需要根據儲存格的內容來自動更改其格式,這不僅能使數據更直觀,也有助於提升工作效率。本文將介紹如何使用 VBA 程式碼來實現自動更改儲存格顏色的功能,依據輸入的儲存格內容及其所在列的第一列值進行判斷。


需求背景

我們希望當在某個儲存格中輸入特定值(如 "V")時,程式會自動檢查該儲存格所在列的第一列,根據第一列的值來決定是否改變顏色:

  • 如果該列的第一列為 "XXX" 且儲存格輸入 "V",將該儲存格的背景顏色變為淺綠色。
  • 如果該列的第一列為 "YYY" 且儲存格輸入 "V",則將背景顏色變為淺藍色。
  • 若不符合這兩個條件,將移除該儲存格的背景顏色。

解決方法:使用 VBA 編寫程式碼

這裡我們將使用 Excel VBA 的 Worksheet_Change 事件來監聽使用者在工作表中對儲存格的改動,並根據條件自動改變儲存格的背景顏色。

打開 VBA 編輯器

  1. 在 Excel 中,按下 Alt + F11 進入 VBA 編輯器。
  2. 在左側「專案」視窗中,找到並雙擊要套用此程式碼的工作表(例如 Sheet1)。

編寫 VBA 程式碼

將以下程式碼貼入對應的工作表模組中:

Private Sub Worksheet_Change(ByVal Target As Range)
' 確保觸發事件的範圍是單個儲存格
If Target.CountLarge > 1 Then Exit Sub

' 取得輸入儲存格的列的第一列儲存格
Dim firstRowCell As Range
Set firstRowCell = Cells(1, Target.Column) ' 取得對應的第一列儲存格

' 根據第一列的值進行判斷
If firstRowCell.Value = "XXX" And Target.Value = "V" Then
' 設定儲存格顏色為淺綠色
Target.Interior.Color = RGB(144, 238, 144) ' 淺綠色
ElseIf firstRowCell.Value = "YYY" And Target.Value = "V" Then
' 設定儲存格顏色為淺藍色
Target.Interior.Color = RGB(173, 216, 230) ' 淺藍色
Else
' 如果條件不符合,移除背景顏色
Target.Interior.ColorIndex = xlNone
End If
End Sub

理解程式碼邏輯

  • Worksheet_Change:這是一個工作表事件,當工作表中任何儲存格的內容發生改變時,這個事件會被自動觸發。
  • Target:代表被修改的儲存格。Target.CountLarge > 1 用來確保一次只能處理單個儲存格變動,如果是多個儲存格變動則不做處理。
  • Cells(1, Target.Column):這一行程式碼用來取得被修改儲存格所在列的第一列儲存格。例如,若你改變了 B10,這段程式碼會取得 B1 的內容。
  • 顏色判斷與應用
    • 如果對應列的第一列值為 "XXX" 且輸入值為 "V",儲存格背景變為淺綠色。
    • 如果對應列的第一列值為 "YYY" 且輸入值為 "V",背景變為淺藍色。
    • 如果不符合上述條件,移除該儲存格的背景顏色(恢復為無色)。

測試與運行

  1. 關閉 VBA 編輯器,返回 Excel。
  2. 在工作表中嘗試輸入 "V",並查看對應儲存格顏色的變化。如果該列的第一列為 "XXX" 或 "YYY",則顏色應會自動變為淺綠色或淺藍色。

結論

透過上述的 VBA 程式碼,我們可以實現根據使用者輸入及其所在列的第一列值,來動態改變儲存格顏色的功能。這種自動化的格式變更能有效提升工作效率,讓數據更具可讀性。如果你有更多的條件需求,也可以輕鬆擴展這段程式碼來滿足不同的應用場景。


希望這篇教學文章能夠幫助你理解如何在 Excel 中使用 VBA 自動更改儲存格顏色。如果有任何問題,歡迎隨時提出!

avatar-img
67會員
118內容數
這裡將以輕鬆風格,深入探討程式設計的基礎和高級概念。從程式語言到演算法,我們將以易懂的方式解釋每個主題,讓你輕鬆掌握。無論你是初學者或有經驗者,都能在這裡找到適合你的內容。無論你的目標是成為專業開發者還是擴展知識,我們都會陪伴你一同成長!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
程式輕鬆玩 的其他內容
在 Excel 中,當我們處理大量數據時,能夠快速地突出顯示某一列的資料是非常實用的。本文將介紹如何透過 VBA(Visual Basic for Applications)來實現當點選某一個儲存格時,自動將該儲存格所在的整列改變顏色的功能。
在這篇教學中,我們將介紹如何使用 Excel VBA 來發送訊息到 LINE Notify。LINE Notify 是 LINE 提供的服務,可以透過 API 發送訊息到 LINE 上。這篇教學將帶你步驟一步完成設置。
Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
在Excel中實作使用者介面(UI)是一個有趣且實用的技能,能夠幫助你更好地呈現資料、提供功能並增強使用者體驗。本文將逐步介紹如何在Excel中建立基本的UI元素,例如按鈕、下拉式選單和文字框,並擴展功能,例如資料驗證和動態更新。
進度條在日常生活和工作中非常常見,它們可以直觀地顯示任務或項目的完成情況。在 Excel 中,我們可以使用一些技巧和函數來製作出美觀且功能強大的進度條。本篇教學將介紹如何使用 Excel 的 REPT 函數和條件格式設定,來製作一個簡單而有效的進度條。
在工作中,我們經常需要處理各種報表,而其中一項任務就是每天手動更新報表。這可能是一個繁瑣且容易被遺忘的工作,但有幸的是,我們可以利用VBA(Visual Basic for Applications)和Windows工作排程器來自動化這個過程,讓我們在不知不覺中完成這項任務。
在 Excel 中,當我們處理大量數據時,能夠快速地突出顯示某一列的資料是非常實用的。本文將介紹如何透過 VBA(Visual Basic for Applications)來實現當點選某一個儲存格時,自動將該儲存格所在的整列改變顏色的功能。
在這篇教學中,我們將介紹如何使用 Excel VBA 來發送訊息到 LINE Notify。LINE Notify 是 LINE 提供的服務,可以透過 API 發送訊息到 LINE 上。這篇教學將帶你步驟一步完成設置。
Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
在Excel中實作使用者介面(UI)是一個有趣且實用的技能,能夠幫助你更好地呈現資料、提供功能並增強使用者體驗。本文將逐步介紹如何在Excel中建立基本的UI元素,例如按鈕、下拉式選單和文字框,並擴展功能,例如資料驗證和動態更新。
進度條在日常生活和工作中非常常見,它們可以直觀地顯示任務或項目的完成情況。在 Excel 中,我們可以使用一些技巧和函數來製作出美觀且功能強大的進度條。本篇教學將介紹如何使用 Excel 的 REPT 函數和條件格式設定,來製作一個簡單而有效的進度條。
在工作中,我們經常需要處理各種報表,而其中一項任務就是每天手動更新報表。這可能是一個繁瑣且容易被遺忘的工作,但有幸的是,我們可以利用VBA(Visual Basic for Applications)和Windows工作排程器來自動化這個過程,讓我們在不知不覺中完成這項任務。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
只要會用鍵盤的人,人人都會做EXCEL表格。但是,如果你仔細研究,你或許會發現,工作是否有效率其實可以從一張EXCEL表裡看出來。這篇文章分享幾幾簡單的檢查方法與製作技巧。
在工作中常常會需要用到Excel去整理數據資料,因為近期有在進行作業優化學習,提供網路上10個常用的Excel快捷鍵配置,以及相對應的功能,做為自我複習資料。
Thumbnail
本法省去開啟EXCEL檔,轉存為CSV檔之手動作業,縮短作業時間,提高工作效率,尤其是對象為複數個檔案場合
Thumbnail
這篇文章介紹如何使用VBA程式碼將【包含備註】的Excel檔案轉換為PDF檔。在研究這個問題時,作者花了3個小時多的時間,但後來發現了一個更簡單的方法,這讓作者感到震驚和懷疑人生。最後,作者強調使用他人的智慧來提高自己的能力。文章提供了相關參考文獻和圖片。
Thumbnail
本文介紹瞭如何將Excel圖表轉成圖片,並解決了圖表資料量大時可能出現的錯誤訊息。此外,還分享了ChatGPT 4o (訂閱付費版) 的幫助與成功轉換圖片的經驗。 還有周杰倫關於一技之長的觀點分享,激勵讀者找到自己的優勢和興趣。並提供了相關參考文獻,讓讀者進一步深入瞭解主題。
Thumbnail
在工作職場上輸入資料時,如果輸入的內容可以觀察出特定的規則時,其實可以使用儲存格格式來快速輸入資料。 舉一個例子,再輸入學生班級時,三年二班要輸入4個字,【三】、【年】、【二】、【班】,但其實觀察一下規律,其中的年跟班都是相同的,那麼就能利用這個規則來偷吃步拉 📌設定儲存格格式 選取範圍
Thumbnail
Excel是職場上必備的工具之一,它可以用來處理各種數據,從簡單的計算到複雜的分析,都能夠勝任。在Excel中,有一個非常實用的技巧,叫做「微調按鈕」。微調按鈕可以讓你輕鬆地調整數據,而不需要手動輸入。它非常適合用於以下情況:需要頻繁調整數據的情況,例如:產品價格、銷售目標等。
Thumbnail
這篇文章介紹瞭如何使用VBA來控制Powerpoint,以及透過VBA控制Powerpoint的好處,包括動態資料的圖表簡報、改變表格底色、串接API等。文章強調了了解物件和屬性的關係後,就可以開始探索VBA控制Powerpoint的各種可能性。
Thumbnail
在職場上,我們經常需要使用 Excel 表格來處理資料,而自動格式設定可以幫助我們快速將資料整理成一致的格式,讓資料看起來更清晰、更有效率。用 Excel 的快捷鍵自動出現自動格式設定技巧,可以讓我們在更短的時間內套用自動格式,讓工作更輕鬆。
Thumbnail
一般EXCEL預設狀態下,輸入資料後按下ENTER儲存格就會自動往下移動一格,以方便下一筆資料的輸入。 但其實在職場很常見的是,輸入完資料後的下一個要輸入的位置其實是在右邊,但系統預設跑到下面,這時候就要用滑鼠手動把儲存格點到適合的位置,這時候心裡就會開始OS:為什麼預設是往下,阿阿阿
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
只要會用鍵盤的人,人人都會做EXCEL表格。但是,如果你仔細研究,你或許會發現,工作是否有效率其實可以從一張EXCEL表裡看出來。這篇文章分享幾幾簡單的檢查方法與製作技巧。
在工作中常常會需要用到Excel去整理數據資料,因為近期有在進行作業優化學習,提供網路上10個常用的Excel快捷鍵配置,以及相對應的功能,做為自我複習資料。
Thumbnail
本法省去開啟EXCEL檔,轉存為CSV檔之手動作業,縮短作業時間,提高工作效率,尤其是對象為複數個檔案場合
Thumbnail
這篇文章介紹如何使用VBA程式碼將【包含備註】的Excel檔案轉換為PDF檔。在研究這個問題時,作者花了3個小時多的時間,但後來發現了一個更簡單的方法,這讓作者感到震驚和懷疑人生。最後,作者強調使用他人的智慧來提高自己的能力。文章提供了相關參考文獻和圖片。
Thumbnail
本文介紹瞭如何將Excel圖表轉成圖片,並解決了圖表資料量大時可能出現的錯誤訊息。此外,還分享了ChatGPT 4o (訂閱付費版) 的幫助與成功轉換圖片的經驗。 還有周杰倫關於一技之長的觀點分享,激勵讀者找到自己的優勢和興趣。並提供了相關參考文獻,讓讀者進一步深入瞭解主題。
Thumbnail
在工作職場上輸入資料時,如果輸入的內容可以觀察出特定的規則時,其實可以使用儲存格格式來快速輸入資料。 舉一個例子,再輸入學生班級時,三年二班要輸入4個字,【三】、【年】、【二】、【班】,但其實觀察一下規律,其中的年跟班都是相同的,那麼就能利用這個規則來偷吃步拉 📌設定儲存格格式 選取範圍
Thumbnail
Excel是職場上必備的工具之一,它可以用來處理各種數據,從簡單的計算到複雜的分析,都能夠勝任。在Excel中,有一個非常實用的技巧,叫做「微調按鈕」。微調按鈕可以讓你輕鬆地調整數據,而不需要手動輸入。它非常適合用於以下情況:需要頻繁調整數據的情況,例如:產品價格、銷售目標等。
Thumbnail
這篇文章介紹瞭如何使用VBA來控制Powerpoint,以及透過VBA控制Powerpoint的好處,包括動態資料的圖表簡報、改變表格底色、串接API等。文章強調了了解物件和屬性的關係後,就可以開始探索VBA控制Powerpoint的各種可能性。
Thumbnail
在職場上,我們經常需要使用 Excel 表格來處理資料,而自動格式設定可以幫助我們快速將資料整理成一致的格式,讓資料看起來更清晰、更有效率。用 Excel 的快捷鍵自動出現自動格式設定技巧,可以讓我們在更短的時間內套用自動格式,讓工作更輕鬆。
Thumbnail
一般EXCEL預設狀態下,輸入資料後按下ENTER儲存格就會自動往下移動一格,以方便下一筆資料的輸入。 但其實在職場很常見的是,輸入完資料後的下一個要輸入的位置其實是在右邊,但系統預設跑到下面,這時候就要用滑鼠手動把儲存格點到適合的位置,這時候心裡就會開始OS:為什麼預設是往下,阿阿阿