如果前 5 個最高成本降低 (CD) 金額,我已經在 vba 中設定了條件格式,以使單元格顏色為黃色。現在,我被困在下面的第 (2) 步。我想在Propose列中輸入 YES 的位置?如果單元格顏色為黃色。其余的將輸入為 NO。實際上,如果單元格是手動著色的,而不是通過 vba 的條件格式,則此 vba 代碼可以運行。你還有其他辦法嗎?提前感謝您的時間。

Sub Sort ()
Dim R2 as Range
'(1)Change cell to yellow if CD amount top 5 highest
Set R2 = range ("O18","O206")
R2.FormatConditions.Delete
R2.FormatConditions.AddTop10
With R2.FormatConditions(1)
.TopBottom.xlTop10Top
.Rank=5
End With
'(2) Input "YES" to Top 5 highest CD, the rest input "NO". Skip for blank rows
Range("J18","J206").ClearContents
For Each R2 in Range ("O18","O206")
If R2.Cells.Interior.Color=RGB(255,255,0) Then
Cells(R2.Row,"J").Value = "YES"
Else
Cells (R2.Row,"J").Value="NO"
End If
Next R2
End Sub
參考:根據其他列顏色在單元格中輸入“是/否”
uj5u.com熱心網友回復:
如果您堅持使用 VBA:要檢查使用條件格式設定格式的單元格的顏色(或其他屬性),請使用DisplayFormat,例如R2.DisplayFormat.Interior.Color,請參閱https://stackoverflow.com/a/45123047/7599798
然而,一個簡單的公式(沒有 VBA)可以解決這個問題,使用Large- 函式。
=J2>=LARGE($O$18:$O$206, 5)
如果您不喜歡 TRUE/FALSE 并且更喜歡 YES/NO,請使用
=IF(J2>=LARGE($O$18:$O$206, 5),"YES","NO")
uj5u.com熱心網友回復:
我設法完成了步驟(2),如下所示:
(2) Input YES to column J if range in column O is yellow
For each R2 in range ("O18","O206")
If R2.Cells.Interior.Color=RGB (255,255,0) Then
Cells(R2.Row,"J").Value = "YES"
Else
Cells(R2.Row,"J").Value="NO"
End If
Next R2
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/380745.html
