簡體   English   中英

將表格列中的自動過濾單元格着色為紅色的各種方法

[英]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.

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