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追问
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
For i = 10 To 50
If Range("B" & i).Interior.ColorIndex = 3 Then Range("C" & i) = "Red"
Next
End Sub