View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Bob Phillips[_6_] Bob Phillips[_6_] is offline
external usenet poster
 
Posts: 11,272
Default Worksheet_SelectionChange

That is clever.

It works because it sets up conditional formatting on the row, based upon
whether the row is empty or not. By deleting the condition first then
re-creating it does ensure that the number of conditions on the sheet are
minimised.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"Bill Oertell" wrote in message
...
Found this bit of code on a website. Can't remember where, but I can find

out
if anyone's interested. The initial row does not remain highlighted.

Works
rather nicely. And it has the advantage of not highlighting the row if

it's
empty.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim strRow As String
Cells.FormatConditions.Delete

With Target.EntireRow
strRow = .Address
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=COUNTA(" & strRow

&
")0"
.FormatConditions(1).Interior.ColorIndex = 6
End With
End Sub

But I do have one question. How does the the line of code:
.FormatConditions.Add Type:=xlExpression, Formula1:="=COUNTA(" & strRow &

")0"
prevent the sub from highlighting an empty row. I understand the COUNTA
function, but I don't understand how that line prevents the following line

from
executing.

Thanks.