簡體   English   中英

如何根據另一個像元值​​VBA突出顯示一個像元?

[英]How to highlight a cell based on another cells value VBA?

之前曾有人問過這個問題,但我以另一種方式去做。 我試圖突出顯示一個單元格,如果它大於另一個單元格的值。

這是我的代碼:

Sub Error_Search()

Dim Summary As Worksheet
Dim lr As Long
Set Summary = Worksheets("Summary")


            lr = Cells(Rows.Count, 20).End(xlUp).Row

    With Summary

            For i = lr To 3 Step -1

            If Range("L" & i).Value > Range("$Q$2:$R$3").Value Then Range("L" & i).Font.Color = -16776961

            Next i

    End With

End Sub

Range(“ $ Q $ 2:$ R $ 3”)是一個合並的單元格,它是我要比較要突出顯示的單元格的單元格。

我不斷收到不匹配錯誤。

任何幫助將不勝感激。

謝謝,

G

如注釋中所述,問題在於即使合並了單元格,多個單元格的Range也不具有單個Value :只要涉及的單元格超過一個, Range.Value生成2D變量數組。 因此,您可以僅通過引用合並范圍的左上角單元格來修復該錯誤。

那個...

您不需要任何VBA代碼即可執行此操作; 條件格式可以非常整潔地處理它。

條件格式公式:= $ C4> $ M $ 3

  =$C4>$M$3 

注意$符號: $M$3將是您合並的單元格(只有最左邊的單元格很重要),而$C4只是您將條件格式定義為的第一個單元格; 保留非絕對行(即行號上沒有$),可以通過指定“ 應用於范圍”將格式應用於整個單元格范圍:

$ D:$ L中$ C大於$ M $ 3的單元格突出顯示

請注意,無論我們要查看的是$ M $ 3還是$ M $ 3:$ N $ 3合並的單元格,格式公式都是相同的。

條件格式的性能將比您可以編寫的任何VBA代碼都要好得多。

暫無
暫無

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

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