Hello Prasad,
This will give you some idea of what is needed. It has to be placed in the Workbook code area.
Private Sub EntryControl()
Dim LastRow As Long
Dim rngColI, c, rngUsed As Range
ActiveSheet.Unprotect
Set rngUsed = Range(Range("A1"), ActiveCell.SpecialCells(xlLastCell))
rngUsed.Locked = False
With ActiveSheet
LastRow = .Cells(.Rows.Count, "I").End(xlUp).Row
End With
Set rngColI = Range("I1:I" & LastRow)
For Each c In rngColI
If c.Value = "" Then
c.Offset(0, 3).Locked = True
End If
Next c
ActiveSheet.Protect
End Sub
Also for the block to be effective the relevant sheet has to be protected. This also only works for the sheet that opens first when the file is opened. If you want it to work on a specific sheet or multiple sheets you will have to modify it to suit. It also only protects down to the last entry in columnI and not to the possible bottom of data in your spreadsheet. That will need a little more work that I cannot do at the moment but you could fix that yourself.
Regards
Harry