仅计算已经过条件格式化的可见单元格

时间:2016-06-08 16:42:39

标签: excel excel-vba vba

所以我开始认为这不可能完成,这里是希望有人能够帮助我。

它的主旨是我有一个我正在处理的excel 2013应用程序,它从sharepoint列表中获取数据,我将其过滤。这笔交易是我将条件格式应用于此列表中的几列,只需根据单元格中的文本将背景颜色填充为绿色或红色。接下来,我需要获得可见单元格的平均值,而不是所有已格式化的单元格,只需要通过我应用的过滤器显示的单元格。

无论如何,我的代码:

Dim rng As Range
Dim i As Integer
Dim row As Range

Set rng = ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible)
'Set rng = Range("A5:A150")
'For i = 1 To rng.Areas.count

For i = 1 To rng.Areas.Count
    ActiveSheet.Cells(Rows.Count, 1).End(xlUp)(1).Resize(rng.Areas(i).Rows.Count, rng.Areas(i).Columns.Count) _
    = rng.Areas(i).Value

    f = ActiveSheet.Cells(i, i).Value
    If f = "" Then
        f = "<DIV style='font-weight:bold; font-size:24px; font-size:24px; color:orange;'>•</DIV>"
    End If

    c = ("<DIV style='font-weight:bold; font-size:24px; font-size:24px; color:green;'>•</DIV>")
    s = f

    If s = c Then
        Count = Count + 1
    Else
        count2 = count2 + 1
    End If
Next

1 个答案:

答案 0 :(得分:0)

条件格式给出的颜色无法通过VBA读取。
但是,如果您在此之前过滤数据,为什么不尝试:

SpecialCells(xlCellTypeVisible)