符合条件时选择单元格

时间:2016-02-11 20:43:37

标签: excel-vba vba excel

我有一个工作表,我试图通过列B查看它是否突出显示,然后选择该列及其关联列A值。我写了一些东西,然后选择符合条件的最后一个单元格,但不是全部单元格。有人知道发生了什么吗?我在下面提供了我的代码。提前致谢

ws.Select
For Each rng In ws.Range("C2:C" & lastrow)
If rng.Interior.Color = 65535 Then
ws.Range("B" & rng.Row).resize(1,2).select
End If
Next rng

2 个答案:

答案 0 :(得分:1)

试试这段代码:

Dim uRng As Range  
ws.Select
For Each Rng In Ws.Range("C2:C" & LastRow)
 If Rng.Interior.Color = 65535 Then
    If uRng Is Nothing Then
     Set uRng = Ws.Range("B" & Rng.Row)
    Else
     Set uRng = Union(uRng, Ws.Range("B" & Rng.Row))
    End If
 End If
Next Rng

If Not uRng Is Nothing Then uRng.Select

当我们选择一个单元格然后选择另一个单元格时,第一个选择将被删除,因此我们需要在一个Select操作中选择所有单元格,使用Union我们可以这样做

答案 1 :(得分:0)

这样的东西应该有用,但是你应该在副本上测试它,而不是你原来的。

将myRange调暗为范围

ws.Select
For Each rng In ws.Range("C2:C" & lastrow)
If rng.Interior.Color = 65535 Then
set myrange = myrange union (ws.Range("B" & rng.Row))
End If
Next rng

myRange .resize(1,2).select