Hi ,
This macro solved point # 1

HTML Code:
Sub lockclmn()

Dim cell As Range
Dim Range As Range
Set rng1 = Worksheets("Sheet1").Range("C1:O1")
ActiveSheet.Unprotect Password:="test"
 
For Each cell In rng1.Cells
If cell.Value2 < CLng(Date) - 1 Then
cell.EntireColumn.Locked = True
Else
 cell.EntireColumn.Locked = False
End If
Next
ActiveSheet.Protect Password:="test"

End Sub
Help is needed in poin#2.

Thanks
Rajesh