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

如何根據Excel中的值更改文本框顏色?

在Excel中,我們可以應用條件格式設置功能來根據單元格值更改背景顏色,但是,在本文中,我將討論如何根據單元格值或文本框中的值更改文本框顏色。

使用VBA代碼根據單元格值更改文本框顏色

使用VBA代碼根據文本框中的值更改文本框顏色


箭頭藍色右氣泡 使用VBA代碼根據單元格值更改文本框顏色

假設,如果A1中的單元格值大於B1中的單元格值,我希望文本框用紅色填充,相反,文本框應該用黃色填充。 請按照以下步驟完成這項工作:

1。 通過單擊插入文本框 開發人員 > 插入 > 文本框(ActiveX控件),然後繪製一個文本框,請參見屏幕截圖:

基於值1的doc文本框顏色

2。 然後右鍵單擊文本框,然後選擇 查看代碼 從上下文菜單中打開 Microsoft Visual Basic for Applications 窗口,然後用以下VBA代碼將原始代碼替換為空白模塊:

VBA代碼:根據單元格值更改文本框顏色:

Private Sub TextBox1_Change()
    If ActiveSheet.Range("A1").Value > ActiveSheet.Range("B1").Value Then
        Me.TextBox1.BackColor = vbRed
    Else
        Me.TextBox1.BackColor = vbYellow
    End If
End Sub

基於值2的doc文本框顏色

備註:在上面的代碼中, 文字框1 是您插入的文本框名稱, A1B1 是您要基於其更改文本框顏色的兩個單元格,請根據需要進行更改。

3。 然後保存並關閉代碼窗口,然後退出 設計模式,現在,如果單元格A1大於B1,則在文本框中鍵入文本時,將用紅色填充;如果單元格A1小於B1,則在文本框中輸入值時,將用黃色填充,看截圖:

基於值3的doc文本框顏色


箭頭藍色右氣泡 使用VBA代碼根據文本框中的值更改文本框顏色

如果要基於文本框中的值更改文本框顏色,例如,當文本框中的值介於1和10之間時,文本框的填充顏色為紅色,如果值介於11和20之間,則文本框顏色為綠色,如果為其他值,文本框顏色為黃色。 要處理此任務,請應用下面的VBA代碼。

1。 插入文本框後,右鍵單擊它,然後選擇 查看代碼 從上下文菜單中打開 Microsoft Visual Basic for Applications 窗口,然後用以下VBA代碼將原始代碼替換為空白模塊:

VBA代碼:根據文本框中的值更改文本框顏色:

Private Sub TextBox1_Change()
    On Error Resume Next
    Select Case TextBox1.Value
        Case 1 To 10:
            TextBox1.BackColor = vbRed
        Case 11 To 20:
            TextBox1.BackColor = vbGreen
        Case Else:
            TextBox1.BackColor = vbYellow
    End Select
End Sub

基於值4的doc文本框顏色

備註:在上面的代碼中, 文字框1 是插入的文本框的名稱,您可以將代碼中的值和背景顏色更改為自己的文本框。

2。 然後保存並關閉代碼窗口,然後退出 設計模式,現在,如果在文本框中輸入1到10之間的值,則其背景色將變為紅色,在11到20之間的值將使文本框的背景色變為綠色,其他值將變為黃色,如以下屏幕截圖所示:

基於值5的doc文本框顏色


相關文章:

如何將圖片插入文本框?

如何在文本框中設置默認值?

如何在文本框中僅輸入數字?

如何在文本框中應用拼寫檢查?


最佳辦公效率工具

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底部
按評論排序
留言 (3)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
有人可以提供一個示例工作簿,以便我可以看到這個工作嗎? 我一直在嘗試,但無濟於事。 謝謝
網站主持人對此評論進行了最小化
對我來說,當嘗試根據兩個單元格值更改文本框顏色值時,只有在您在文本框中輸入內容時,文本框才會更新。 我需要它自動更新。 我想我只需要學習 VBA 就可以找出原因。
網站主持人對此評論進行了最小化
沒關係,我想通了。 我沒有製作觸發更改“Textbox1_GotFocus()”的事件,而是將其設為“Worksheet_SelectionChange(ByVal Target As Range)”。 現在,只要其中一個單元格中的值發生更改,文本框顏色就會自動更改。
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

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