Well, if the workbook is protected then you can lock cells by using
This allows you to specify a range in the below.
Function InRange(Range1 As Range, Range2 As Range) As Boolean
'returns True if Range1 is within Range2
Dim InterSectRange As Range
Set InterSectRange = Application.Intersect(Range1, Range2)
InRange = Not InterSectRange Is Nothing
Set InterSectRange = Nothing
This will mean that if you enter something in B7 and press enter (and you have enter to drop down to next cell in column (default setting in Excel)) then cell B& will then have the attribute 'locked'.
Private Sub Worksheet_Change(ByVal Target As Range)
If InRange(ActiveCell, Range("B1:B100")) Then
ActiveCell.Offset(-1, 0).Locked = True
Else: End If
If you're not protecting the workbook then it's likely a lot more complicated (certainly i'm stumped).