EXCEL VBA如何选取已经填充为红色的单元
3个回答
展开全部
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 这句就是选取的意思,你运行一下代码试试就知道了
展开全部
不知道你要将红色单元格的位置显示在什么地方
以下代码可将(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
已上传附件
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询