簡體   English   中英

從另一個單元格值中突出顯示單元格(動態范圍)

[英]Highlight cell from another cells value (dyanmic range)

在挖掘了非常相似的帖子后,我無法找到滿足我獨特要求的解決方案。 到目前為止,我已經能夠使用這些線程構建一個公式,但我只是對有兩個 IF 語句感到困惑。

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If ActiveCell.Address = "$U$14" Then
    Dim rng As Range, cell As Range, LastRow As Long

    With Sheets("Sheet4")
        LastRow = .Range("B" & .Rows.Count).End(xlUp).Row
    End With

    Set rng = Range("A2:A" & LastRow)

    'If O2:O200 is BLANK then highlight corresponding row (xlUp) in Column A yellow
    For Each cell In rng
        cell.Interior.ColorIndex = 27
    Next
Else
    cell.Interior.ColorIndex = 2
End If

End Sub

我想要做的是對於從 O2 到 O & LastRow 的每個單元格,如果它是空白的,然后突出顯示 A 列中的相應行(xlUp)

(xlUp) - 因為我希望它突出顯示這個人的名字,而不僅僅是行,這意味着那個人還沒有收集到一個項目。

然后當點擊單元格 U14 時將其設置回正常。

對不起,它太草率了,我試着把我自己能想到的盡可能多的放進去。

例子: 例子

感謝 Scott Craner 使用一些巧妙的條件格式解決了我的突出顯示問題,為了解決通過激活單元格來切換條件格式的能力,我做了以下事情以防萬一有人想知道:

我在刪除所有格式並選中“如果為真則停止”的功能上方設置了條件格式。 使用的公式是:

    =NOT($U$12)
'U12 is the dedicated cell for displaying TRUE or FALSE, use any cell

然后,我使用以下 VBA 基本上將單元格切換為真或假,然后觸發無格式條件為真,如果選擇特定單元格,則為假:

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If ActiveCell.Address = "$U$14" Or ActiveCell.Address = "$U$13" Then
    Range("$U$12").Value = True
Else
    Range("$U$12").Value = False
End If

End Sub

現在,每當我突出顯示單元格 U13 或 U14 時,A 列中尚未收集的所有名稱都將突出顯示。

暫無
暫無

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

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