Note: The other languages of the website are Google-translated. Back to English

在Excel中單擊或選擇單元格時如何更改單元格顏色?

本文將向您展示一些方法,這些方法如何在單擊單元格時更改單元格顏色,並在Excel中選擇一系列單元格時更改突出顯示的顏色。

使用VBA代碼單擊單元格時更改單元格顏色
使用VBA代碼選擇單元格時更改突出顯示的顏色
用Kutools for Excel突出顯示活動單元格的整個行和列


使用VBA代碼單擊單元格時更改單元格顏色

在這裡,您可以使用以下VBA代碼雙擊或右鍵單擊單元格來更改其背景顏色。

1.在工作表中,單擊時將更改單元格顏色,右鍵單擊工作表選項卡,然後單擊 查看代碼 從右鍵單擊菜單中。

2。 在裡面 Microsoft Visual Basic for Applications 窗口,請複制以下VBA代碼並將其粘貼到 推薦碼 窗口。

VBA:單擊時更改單元格顏色

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Target.Interior.Color = vbRed
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Target.Interior.Color = vbGreen
End Sub

3。 按 其他 + Q 同時關閉按鍵 Microsoft Visual Basic for Applications 窗口。

然後,當您雙擊一個單元格時,它將被塗成紅色。 當您右鍵單擊一個單元格時,該單元格將變為綠色。 看截圖:


單擊以突出顯示Excel中所選單元格的行和列:

Excel的Kutools's 閱讀版式 實用程序可幫助您快速突出顯示Excel中所選單元格的行和列,如下面的演示所示。
立即下載並試用! (30-天免費試用)


使用VBA代碼選擇單元格時更改突出顯示的顏色

默認情況下,選擇單元格範圍時,突出顯示的顏色為灰色。 如果要使所選範圍更加突出,可以將其突出顯示的顏色更改為所需的顏色。 請執行以下操作。

1.右鍵單擊要更改所選範圍的突出顯示顏色的圖紙選項卡,然後單擊 查看代碼 從右鍵單擊菜單中。

2。 在裡面 Microsoft Visual Basic for Applications 窗口,請複制以下VBA代碼並將其粘貼到 推薦碼 窗口。

VBA代碼:更改所選範圍的突出顯示顏色

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    With Target
        .Worksheet.Cells.FormatConditions.Delete
        .FormatConditions.Add xlExpression, , "TRUE"
        .FormatConditions(1).Interior.Color = vbYellow
    End With
End Sub

3。 按 其他 + Q 按鍵同時關閉 Microsoft Visual Basic for Applications 窗口。

從現在開始,所選範圍或單元格的突出顯示顏色將變為黃色。 當您單擊另一個單元格或單元格範圍時,單元格將自動著色。


用Kutools for Excel突出顯示活動單元格的整個行和列

如果要處理較大的工作表,則必須突出顯示活動單元格的整個行和列,以便更輕鬆地閱讀。 在這裡 閱讀版式 的效用 Excel的Kutools 可以幫你。

申請前 Excel的Kutools首先下載並安裝.

1。 點擊 庫工具 > 閱讀版式。 看截圖:

然後啟用閱讀佈局,您可以看到活動單元格的行和列立即突出顯示。

備註:您可以根據需要更改閱讀佈局設置,如下圖所示。

  如果您想免費試用(30-day) 這個實用程序, 請點擊下載,然後按照上述步驟進行操作。


用Kutools for Excel突出顯示活動單元格的整個行和列


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (28)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
非常感謝。 我很感激你。
網站主持人對此評論進行了最小化
我喜歡將我的工作表格式化為“單擊它時更改單元格顏色”的代碼讓我的日常工作變得多麼容易! 不過,我遇到了障礙。 當我按照描述輸入的代碼複製空白頁時,出現錯誤。 在我創建新工作表之前它運行良好。 我是編碼新手,正在使用教科書和互聯網。 感謝您提供的任何幫助!
網站主持人對此評論進行了最小化
親愛的米歇爾,
我按照您描述的步驟操作,但代碼也適用於我的情況。 你能告訴我你的Office版本嗎?
謝謝你的評論。
網站主持人對此評論進行了最小化
你好。 只是有點抬頭。 我用的是office 2007。
我試過你的代碼,雖然它確實有效,但它不是我想要的。 所以我只是完全刪除了代碼。 但是在我刪除代碼之前最後一個選定/活動的單元格仍然是綠色的(我將顏色從 vbYellow 更改為 vbGreen),並且顏色不會消失。 它也不受填充顏色的影響。
我發現的最簡單的解決方案是刪除單元格。 複製和粘貼不起作用,它也會復制顏色。
只是想我會讓你知道。 除了刪除和手動輸入之外,您可能會為此找到另一種解決方案/故障排除。 還是,謝謝! 我確認代碼有效:)
網站主持人對此評論進行了最小化
有沒有辦法將其應用於某些單元格,同時讓其他單元格可用於輸入數字?
網站主持人對此評論進行了最小化
我嘗試了“使用 VBA 代碼選擇單元格時更改突出顯示的顏色”選項並將我的 excel 保存為啟用宏的工作表。 現在被選中的最後一個單元格被突出顯示,並且在選擇時不會突出顯示其他單元格。 我已經刪除了代碼並重新輸入並保存了,但仍然沒有任何變化。 我也無法刪除以前的亮點。 我不知道該怎麼做。
網站主持人對此評論進行了最小化
嗨,
將工作簿另存為啟用 Excel 宏的工作簿後,該代碼在我的情況下運行良好。
你能告訴我你的Excel版本嗎?
網站主持人對此評論進行了最小化
我有一個問題。
如果一個超鏈接與一個 PDF 鏈接到紅色,我想將它的顏色更改為紅色,如果沒有與一個 PDF 鏈接將顯示藍色。
我現在該怎麼辦?
網站主持人對此評論進行了最小化
美好的一天,
抱歉不能幫你。 感謝您的評論。
網站主持人對此評論進行了最小化
薩拉姆...
sy sudah install kutools, tp kok td muncul tab kutools di layar excel 你好嗎? gmn cara mmunculkannya?trimakasih
網站主持人對此評論進行了最小化
td muncul=tidak muncul
網站主持人對此評論進行了最小化
特里馬卡西
網站主持人對此評論進行了最小化
嗨,伙計們,所以我曾經先編寫代碼,在雙擊/右鍵單擊時將單元格顏色更改為綠色/紅色。 但是,我希望此代碼僅適用於特定範圍的單元格,在我的情況下為 D9:P9。 有人可以幫我怎麼做嗎? 我是 VBA 的新手
網站主持人對此評論進行了最小化
嗨,
下面的 VBA 代碼可以幫到你,請試一試。 感謝您的評論。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,Cancel As Boolean)
If (Not Application.Intersect(Target, Me.Range("D9:P9")) 什麼都沒有) 那麼
取消=真
目標.Interior.Color = vbRed
如果結束
END SUB
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range,Cancel As Boolean)
If (Not Application.Intersect(Target, Me.Range("D9:P9")) 什麼都沒有) 那麼
取消=真
Target.Interior.Color = vbGreen
如果結束
END SUB
網站主持人對此評論進行了最小化
嗨,我正在嘗試根據下拉列表中的選擇來弄清楚如何更改單元格的顏色。 例如,HIGH=紅色,MEDIUM=黃色,LOW=綠色。

非常感謝您提供的任何提示。 謝謝你
網站主持人對此評論進行了最小化
hi
這是工作格子,但我希望顏色應該只在選擇單元格時,當我選擇其他內容時,我選擇的第一個單元格不應該被著色
你能幫我嗎?謝謝
網站主持人對此評論進行了最小化
我有同樣的問題! 我希望有人會回答你! 我正在尋找這個的原因是我有一個我每天使用的電子表格,並將大量信息放入單個單元格中。 很難看到值(從視覺上看,它會進入其他單元格中的信息),如果我可以更改正在編輯的單元格的顏色,這將是一個很棒的功能 - 僅在它正在編輯時。 我能想到的最簡單的解決方案是將單元格值設置回單擊之前的值 - 但我不知道該怎麼做。
網站主持人對此評論進行了最小化
謝謝你。 做得好
網站主持人對此評論進行了最小化
嗨,
是否可以有一個“單擊時更改單元格顏色”的代碼,這樣它不會用另一種顏色更改已經格式化的單元格,好嗎?
應用您的代碼後,我所有的格式(顏色)都消失了。 謝謝你。 維羅妮卡
網站主持人對此評論進行了最小化
只要我不保護工作表,代碼就可以工作。 一旦我保護了工作表,因為我對鎖定的單元格有條件格式,代碼將不起作用。 如何更改它以使其適用於用戶可以選擇未鎖定單元格的鎖定工作表?
網站主持人對此評論進行了最小化
如何通過單擊單元格突出顯示單元格(帶有數據)以自動突出顯示其他單元格(與前一個單元格中的另一個數據相關的數據)。我能做到嗎? 有沒有辦法做到這一點。
網站主持人對此評論進行了最小化
alguien que me ayude solo quiero que al hacerle click a una celda se ponga de un color y que se mantenga ese color y si le vuelvo hacer click regrese el color original que tenia
網站主持人對此評論進行了最小化
嗨,我正在嘗試使用雙擊選項將單元格更改為綠色,但如果我在它為綠色時雙擊它,我也希望該單元格返回無填充或白色。 這可能嗎? 
網站主持人對此評論進行了最小化
您好,以前的代碼可以工作一段時間,但現在不行了。 有什麼問題?
網站主持人對此評論進行了最小化
嗨 Rens Borburgh,帖子中提供了兩個代碼,您使用的是哪一個? 你有沒有得到任何錯誤提示?
網站主持人對此評論進行了最小化
我同時嘗試過它們。 將其複製到 USB 記憶棒後,它不再工作了。
網站主持人對此評論進行了最小化
嗨 Rens Borburgh,我不太明白你的意思。 這些代碼應該在工作表代碼窗口中使用,而不是在模塊窗口中使用。 或者你能提供你的代碼窗口的截圖嗎?
網站主持人對此評論進行了最小化
你好,我用 37 個工作表構建了一個儀表板,每個人都有一張桌子。 所有這些都是鎖定面板,因為它們太大了,我需要知道我為其輸入數據的學生的號碼和姓名。 儘管如此,我必須將手指放在屏幕的左側,以識別輸入數據所指的名稱和數字。 所以,我需要在“I”和“J”列中識別該行的前兩個單元格。
我從互聯網上獲取並且無法更改列“I”和“J”的兩個單元格的代碼是:

將 lTarget 作為範圍

私人子工作表_SelectionChange(ByVal Target As Range)

如果 Target.Row >= 16 那麼

If Not lTarget is nothing then

lTarget.EntireRow.Interior.ColorIndex = 0
如果結束

Target.EntireRow.Interior.Color = 9359529

設置 lTarget = 目標
如果結束
END SUB

所有表格都以不同的行開始。 此示例從 16 行開始,但我將代碼放在所有頁面中並適應特定行號的需要。 
我已經嘗試將代碼從 EntireRow 更改為 Range ("I16:J43"),但是該範圍內的單元格都塗上了代碼顏色。
已經在 $I16:$J16 範圍內使用公式 =E($I43<>"";LIN()=CÉL("lin")) 並在開發人員“工作表”中嘗試通過“條件格式”的不同方式”,使用“Application.Calculate”,它可以工作。 我在 37 個工作表中進行了更改,但我正在將前一個文件中的數據複製到這個新文件中,我注意到粘貼“值”等的選項從我的儀表板中消失了。 代碼必須執行某些操作,例如單擊單元格,不再允許粘貼。 一個選項是使用 CTRL+V 進行粘貼。
如果有人可以幫助我編寫代碼,我將刪除 VBA“Application.Calculate”以返回可用的拼貼選項。
謝謝你的幫助。

路易斯·洛佩斯
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護