簡體   English   中英

如何使用公式為Excel中的單元格着色?

[英]How to color a cell in Excel using a formula?

我想做類似的事情:

=iif(A1>10,backcolor = black,backcolor = green)

我想要一個公式而不是向導。

您應該使用條件格式,而不是使用公式。 選擇適當的列,然后轉到“ 首頁”->“條件格式”->“突出顯示單元規則”。 之后,您可以定義標准,以及單元應該變成哪種顏色。

有關更廣泛的解釋,請訪問以下鏈接。 https://support.office.com/zh-CN/article/Use-a-formula-to-apply-conditional-formatting-fed60dfa-1d3f-4e13-9ecb-f1951ff89d7f?ui=zh-CN&rs=zh-CN&ad=我們

編輯:

據我所知,使用公式無法更改單元格的顏色。 如果有人知道該怎么做,請發表! 同時,這是一個小例程,說明如何使用VBA將顏色更改為綠色。

Private Sub changecolor()
Dim i As Long: i = 1
 Dim LastRow As Long
    With ActiveSheet
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
    End With
Do Until i = LastRow
    With Range("A" & i)
        If .Value > 10 Then
            Cells(i, 1).Interior.ColorIndex = 10
        End If
    End With
i = i + 1
Loop
End Sub

注意: 每10萬行此公式大約需要3到6秒,這可能會非常慢,具體取決於應用程序。 運行一個小測試后,我發現以下運行時:

164269ms for 1000000 records with 45,4% coloured : ~16.4s/100k records
349193ms for 1000000 records with 100% coloured : ~34.9s/100k records
9016ms for 1000000 records with 0% coloured : ~0.9s/100k records

似乎使用Cells(i, 1).Interior.ColorIndex可以以高達Cells(i, 1).Interior.ColorIndex / 100k的記錄增加時間! 如果有人知道更好的方法,請隨時賜教!

您可以將公式與事件宏結合使用。 選擇一個單元格,說B2並輸入公式:

=IF(A1>10,"black","green")

然后格式化B2 Custom ;;;
這將隱藏顯示的文本。
然后在工作表代碼區域中放置以下事件宏:

Private Sub Worksheet_Calculate()
Application.EnableEvents = False
    With Range("B2")
        If .Value = "green" Then
            .Interior.Color = RGB(0, 255, 0)
        Else
            .Interior.Color = RGB(0, 0, 0)
        End If
    End With
Application.EnableEvents = True
End Sub

該宏將在每次重新計算工作表時運行。 它將檢查B2中的文本( 即使該文本不可見 )並相應地調整背景色。

因為它是工作表代碼,所以非常易於安裝和自動使用:

  1. 右鍵單擊Excel窗口底部附近的選項卡名稱
  2. 選擇查看代碼-這將打開一個VBE窗口
  3. 將內容粘貼並關閉VBE窗口

如果您有任何疑問,請先在試用版工作表上嘗試一下。

如果您保存工作簿,則宏將隨其一起保存。 如果您在2003年以后使用Excel版本,則必須將文件另存為.xlsm而不是.xlsx

刪除宏:

  1. 如上調出VBE窗口
  2. 清除代碼
  3. 關閉VBE窗口

要總體上了解有關宏的更多信息,請參見:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/zh-CN/library/ee814735(v=office.14).aspx

要了解有關事件宏(工作表代碼)的更多信息,請參見:

http://www.mvps.org/dmcritchie/excel/event.htm

必須啟用宏才能使其正常工作!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM