Turn a range of cells into 'read only'
Like pulling teeth<g
"Cannot change" to me means "locked"
Locked means sheet protection must be applied.
When you save at end of day you can run event code to look down column A and
find today's date or earlier.
Then lock the cells in column C
Does that work for you?
First select all cells on Sheet1 and clear the "locked" property.
Then paste this code into Thisworkbook module.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim c As Range
Dim rng1 As Range
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng1 = ws.Range(Cells(1), Cells(Rows.Count, 1).End(xlUp))
ws.Unprotect Password:="justme"
For Each c In rng1
If c.Value = Date Or c.Value < Date Then
c.Offset(0, 2).Locked = True
Else: c.Offset(0, 2).Locked = False
End If
Next
ws.Protect Password:="justme"
ThisWorkbook.Save 'save no ask
End Sub
Gord
On Tue, 27 Apr 2010 14:18:41 -0700 (PDT), Michael Lanier
wrote:
Gord,
Picture a check register. Basically, the idea is to enter today's
date in column A. My computerized register balances my daily entries
and returns a balance for each transaction in column C. When I close
the file at the end of the day, I want the amount reflected in C to
become permanent so that it cannot be changed at a later date.
Therefore, any entry that reflects today's date in A will become
permanent (fixed) in C. Sorry about the confusion. I hope this
helps.
Michael
|