使用条件格式查找单元格

时间:2016-08-08 19:02:19

标签: excel vba excel-vba

如果值出错,我已有条件地格式化工作表以更改单元格的颜色。这用于数据验证,用户可以立即将大量数据剪切并粘贴到工作表中。

我想写一个宏(我将链接到一个按钮)来查找并转到带有条件格式的第一个单元格,然后是下一个等等。到目前为止,没有运气。如果最终无法做到这一点,我可能会删除条件格式并使用宏更改单元格颜色,以便使用VBA更容易检测到它。

我可以通过

检测是否存在任何条件格式

如果ActiveCell.DisplayFormat.Interior.Color<> 16777215

但是很难将它放入find子中。

更具体地说,列A-AF具有值,如果它们不满足条件,则格式化为红色。我喜欢查找按钮的副本,但需要条件格式。有没有人有什么建议。我已经看过类似的问题,但他们似乎在询问计数或总数,而这并不是我真正需要的。提前谢谢。

2 个答案:

答案 0 :(得分:1)

这是一个函数,它返回一个已经有条件地格式化为浅红色背景的单元格地址数组。编辑以适合您的目的。

Public Function FindConditionals() As Variant
    Dim ws As Worksheet, cCell As Range, cntr As Integer
    Dim formattedCells(100) As Variant ' I would used the number of cells in used range here
    Set ws = ActiveSheet
    cntr = 1

    For Each cCell In ws.UsedRange
        If cCell.DisplayFormat.Interior.Color = 13551615 Then  ' put your own color in
            formattedCells(cntr) = cCell.Address
            cntr = cntr + 1
        End If
    Next cCell
    FindConditionals = formattedCells
End Function

答案 1 :(得分:0)

使用" Go To Special" Excel中的功能。

在首页功能区上,单击查找并选择>去特别。

然后选择条件格式选项。单击“确定”,将选择具有条件格式的所有单元格。