Excel 快速获取范围内所有黄色单元格的方法

Excel 快速获取范围内所有黄色单元格的方法,excel,vba,Excel,Vba,我想知道是否有一个快速的技巧来获取某个范围内某列的所有黄色单元格,例如,对于本例,范围为A4:A7+A11:A12+A14: 使用循环是唯一的方法吗?请尝试下一个代码: Sub testYellowCellsRange() 'it needs a column header... Dim sh As Worksheet, rng As Range, rngF As Range, lastRow As Long, ret As String Set sh = ActiveSh

我想知道是否有一个快速的技巧来获取某个范围内某列的所有黄色单元格,例如,对于本例,范围为A4:A7+A11:A12+A14:


使用循环是唯一的方法吗?

请尝试下一个代码:

Sub testYellowCellsRange()
   'it needs a column header...
    Dim sh As Worksheet, rng As Range, rngF As Range, lastRow As Long, ret As String
    Set sh = ActiveSheet
    
    lastRow = sh.UsedRange.Rows.count
    Set rng = sh.Range("A1:A" & lastRow)
    rng.AutoFilter field:=1, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor
    Set rngF = rng.SpecialCells(xlCellTypeVisible)
    ret = Right(rngF.Address, Len(rngF.Address) - InStr(rngF.Address, ","))
     Debug.Print ret
    rng.AutoFilter
     sh.Range(ret).Select
End Sub

按颜色筛选?@BigBen是否可以将筛选返回值存储在某个范围内,以便使用WorksheetFunction.SumMyrng?如果是,你能告诉我怎么做吗?我很不确定如何使用Range.SpecialCellsxlCellTypeVisible。如果这些单元格是按条件格式着色的,那么您就有条件匹配这些单元格。这就是循环。你可以过滤然后取消过滤。还没有尝试,我会给你反馈asap@Dorian:仍在测试…?你刚刚测试了它,你的代码太棒了!谢谢你的时间