Excel 如何仅对可见单元格应用条件格式?

Excel 如何仅对可见单元格应用条件格式?,excel,excel-2010,vba,Excel,Excel 2010,Vba,我正在使用Excel-2010,我已经为Excel范围A1:F100应用了3缩放条件格式,在下拉宏上,将执行隐藏/取消隐藏操作,并且隐藏/取消隐藏不是顺序的,例如:-行1,10,30,54,67,88可能只可见 因此,对于这些可见行,相同的条件格式应该可以工作 我试着浏览以找到它,但无法获得所需的 非常感谢你的帮助 提前感谢。如评论所述,应该是这样的: Sub ject() Dim rng As Range With Sheet1 '~~> change to your a

我正在使用Excel-2010,我已经为Excel范围A1:F100应用了3缩放条件格式,在下拉宏上,将执行隐藏/取消隐藏操作,并且隐藏/取消隐藏不是顺序的,例如:-行1,10,30,54,67,88可能只可见

因此,对于这些可见行,相同的条件格式应该可以工作

我试着浏览以找到它,但无法获得所需的

非常感谢你的帮助


提前感谢。

如评论所述,应该是这样的:

Sub ject()
    Dim rng As Range
    With Sheet1 '~~> change to your actual sheet
        .Range("A1:F100").FormatConditions.Delete
        Set rng = .Range("A1:F100").SpecialCells(xlCellTypeVisible)
        .Range("A1").FormatConditions.AddColorScale 3
        With .Range("A1").FormatConditions(1)
            With .ColorScaleCriteria(1)
                .Type = xlConditionValueLowestValue
                .FormatColor.Color = RGB(255, 0, 0)
            End With
            With .ColorScaleCriteria(2)
                .Type = xlConditionValuePercentile
                .FormatColor.Color = RGB(255, 255, 0)
            End With
            With .ColorScaleCriteria(3)
                .Type = xlConditionValueHighestValue
                .FormatColor.Color = RGB(0, 255, 0)
            End With
            .ModifyAppliesToRange rng
        End With
    End With
End Sub
每次运行或调用此例程时,它都会将格式重新应用于可见范围

它可以合并到现有代码中,也可以单独运行。HTH.

有可能对最小值、中点和最大值使用小计公式

最小值:类型=公式,
=小计(105美元,A$1美元,F$100)

中点:类型=公式,
=中值(如果((小计(103,间接($A“&行($1:$100)))>0)*($A$1:$F$100”),$A$1:$F$100))

最大值:类型=公式,
=小计(104$A$1$F$100)

如果可以接受值的平均值,而不是50%的百分位数作为中点,则中点的公式将更简单:

=SUBTOTAL(101,$A$1:$F$100)
问候


Axel

我认为您必须通过编程来完成这项工作。例如更改格式应用于的范围。如果您可以接受中点的平均值而不是中位数(50%-百分位),那么就有可能使用最小值、中点和最大值的小计公式。:-)太好了,谢谢L42,这就像就绪代码一样,只更改了颜色代码。非常感谢您的支持。很高兴它有帮助,希望能帮助更多的读者。我在这个网站上得到了很多帮助。如果可以的话,我只是在回馈。在Excel 2010中,您可以使用
聚合
函数忽略隐藏行,该函数具有
中值
的内置选项,例如
=聚合(12,1,A1:F100)