![](/img/trans.png)
[英]Highlighting column headings if any of the cells in that column contains red colour
[英]Various way to colour auto-filtered cells in table column red
設想:
具有各種標題的報告 - 標題名稱保持固定,但列號可能不同 - 在應用各種自動過濾器后查找缺失/空白單元格/數據。 最后,將與用戶共享的缺失/空白數據/單元格塗成紅色以完成。
需要指導:我有這兩種選擇自動過濾范圍內的數據以應用紅色的方法。 如果自動過濾器不返回任何結果,這兩種方式都有缺陷,它將顏色應用於列中的所有單元格。 選擇自動過濾范圍的任何其他方式
第一種方式:使用 DataRangebody
With ActiveSheet.ListObjects("Table_query__57")
.Range.AutoFilter Field:=a, Criteria1:=Array("Barclays", "HSBC", "Lloyds"), Operator:=xlFilterValues
.ListColumns(p).DataBodyRange.Interior.Color = RGB(255, 0, 0)
第二種方式:使用列號向下和 go 向上
With ActiveSheet.ListObjects("Table_query__57")
.Range.AutoFilter Field:=a, Criteria1:=Array("Barclays", "HSBC", "Lloyds"), Operator:=xlFilterValues
Range("Q4:Q" & Cells(Rows.Count, "A").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Interior.Color = RGB(255, 0, 0)
請嘗試下一個方法。 基本上,它將過濾器行數與要分析/處理的列的總行數進行比較:
Sub testFilteredOrNot()
Dim sh As Worksheet, rng As Range, rngF As Range, lastRow As Long
Set sh = ActiveSheet
lastRow = sh.Range("A" & Rows.Count).End(xlUp).row
'...............
'do here the filtering...
'...............
Set rng = sh.Range("Q4:Q" & lastRow)
Set rngF = rng.SpecialCells(xlCellTypeVisible)
If rng.Rows.Count > rngF.Rows.Count Then
rngF.Interior.Color = RGB(255, 0, 0)
End If
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.