我有一个工作表,我试图通过列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
答案 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