View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Dana DeLouis[_3_] Dana DeLouis[_3_] is offline
external usenet poster
 
Posts: 690
Default Code to colour Unlocked cells

Don't know if this would help, but in later versions of Excel, the following
appears to work... without a loop.

Sub Demo()
Application.FindFormat.Locked = False
Application.ReplaceFormat.Interior.ColorIndex = 4
Columns("A:G").Replace _
What:=vbNullString, _
Replacement:=vbNullString, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=False, _
SearchFormat:=True, _
ReplaceFormat:=True

End Sub

HTH :)
Dana DeLouis


"Stuart" wrote in message
...
I create a workbook with just one sheet, and make sure that
range("A1") is not Locked. With this book as the activeworkbook,
I run this code:

Sub Test_Protection()
Dim ws As Worksheet, c As Range
For Each ws In ActiveWorkbook.Worksheets
With ws
.Unprotect
For Each c In .UsedRange.Columns("A:G")
With c
If Not c.Locked = True Then
'User is permitted to edit this cell, so color it:
c.Interior.ColorIndex = 34
End If
If Not .Range("A1").Locked = True Then
.Range("A1").Interior.ColorIndex = 34
End If
End With
Next
End With
Next
End Sub

In this example, the 'c' code does not recognise that "A1" is
not Locked, but the "A1" code does, and the cell is coloured
correctly.

Why is the line 'If Not c.Locked = True Then' failing please?

Regards.


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.692 / Virus Database: 453 - Release Date: 28/05/2004