2014-01-27 2 views
1

Я пытаюсь выделить строку enitre при выполнении условия. Я успешно могу выделить ячейку со словом в ней, но проблема с подсветкой строки. Удар код, который я до сих пор:Выделение целой строки при выполнении условия

Sub Tester() 
    Dim rng As Range 

    Set rng = FindAll(Sheets("Current Tasks").Range("A:P"), "Completed") 

    If Not rng Is Nothing Then 
     rng.Rows(ActiveCell.Row).Interior.Color = 65535 
     'rng.Interior.Color = 65535 
     End If 

End Sub 



Public Function FindAll(rng As Range, val As String) As Range 
    Dim rv As Range, f As Range 
    Dim addr As String 

    Set f = rng.Find(what:=val, after:=rng.Cells(rng.Cells.Count), _ 
     LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _ 
     SearchDirection:=xlNext, MatchCase:=False) 
    If Not f Is Nothing Then addr = f.Address() 

    Do Until f Is Nothing 
     If rv Is Nothing Then 
      Set rv = f 
     Else 
      Set rv = Application.Union(rv, f) 
     End If 
     Set f = rng.FindNext(after:=f) 
     If f.Address() = addr Then Exit Do 
    Loop 

    Set FindAll = rv 
End Function 

ответ

1

Вы можете немного изменить свой код следующим образом:

Sub Tester() 
    Dim rng As Range 

    Set rng = FindAll(Sheets("Current Tasks").Range("A:P"), "Completed") 
    If Not rng Is Nothing Then 
     rng.EntireRow.Interior.Color = 65535 
    End If 

End Sub 
+1

спасибо за что только что массивный «DOH» момент. –

Смежные вопросы