EXCEL VBA如何选取已经填充为红色的单元

1。VBA
2。(B10:H50)范围有单元格是红色的,如何用代码找到此红色单元格

Option Explicit
Sub fColor()
    Dim rng As Range, srng As Range, res As Range
    With Sheets("Sheet1") '这里选择工作表
        Set srng = .[a1:d12] '这里选择区域
        For Each rng In srng
            If rng.Interior.ColorIndex = 3 Then
                If Not res Is Nothing Then
                    Set res = Union(res, rng)
                Else
                    Set res = rng
                End If
            End If
        Next rng
        MsgBox res.Address(0, 0)
        Debug.Print res.Address(0, 0)
        res.Select
        Set res = Nothing
        Set srng = Nothing
    End With
End Sub

追问

我意思是帮我找到这个vbRed颜色的单元,选取中这个单元就可以了

追答

已经选取了,res.Select 这句就是选取的意思,你运行一下代码试试就知道了

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-10-11

不知道你要将红色单元格的位置显示在什么地方

以下代码可将(B10:H50)范围内所有填充颜色为红色的单元格的地址显示在A列(由左到右,由上到下)

Sub 判断红色填充单元格()

Dim rg As Range

For Each rg In Range("b10:h50")

If rg.Interior.ColorIndex = 3 Then
r = r + 1
Cells(r, 1) = rg.Address
End If

Next

End Sub

已上传附件,点击按钮即可验证

追问

我意思是在这个范围("b10:h50")选取这个vbRed颜色的单元

追答Sub 判断红色填充单元格()

Dim rg As Range
Dim rng As Range

For Each rg In Range("b10:h50")

If rg.Interior.ColorIndex = 3 Then

If rng Is Nothing Then
Set rng = rg
Else
Set rng = Union(rng, rg)
End If

End If

Next

rng.Select

End Sub

已上传附件

本回答被提问者采纳
第2个回答  2015-04-16
Sub test()
For i = 10 To 50
If Range("B" & i).Interior.ColorIndex = 3 Then Range("C" & i) = "Red"
Next
End Sub

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网