|Please review this site to see the features that are unavailable in a shared workbook:|
While some of the things you want to do will work in a shared workbook, the locking of the cells might be an issue.
In order to lock a cell, you have to have the workbook protected. In order to lock cells after uses changes them, you have to start with the sheet protected and the cells unlocked. After the data is entered, you have to unprotect the sheet, lock the cell and protect the sheet again.
Unfortunately, one of the features that is not available in a shared workbook is the ability to change the protection. You would need to unshare the workbook, unprotect the sheet, lock the cell, protect the sheet and then share the workbook again. This can be done with VBA, but it's dangerous and cumbersome.
The problem occurs when more than one person has the shared workbook open and you remove the sharing, unprotect it, etc. Depending on what users do during the unshared/unprotected period, you could have serious problems.
Just as a rough example, the code below will unshare the workbook, unprotect it, lock a cell in A1:B16 if it gets changed and then protect and share the workbook again.
Private Sub Worksheet_Change(ByVal Target As Range)
'Determine if change was within A1:B16
If Not Intersect(Target, Range("A1:B16")) Is Nothing Then
'If the workbook is Shared, Unshare it
If ActiveWorkbook.MultiUserEditing Then
'Unprotect the sheet
'Lock the cell that was changed
Target.Locked = True
'Protect the sheet
'Save and Share the workbook
ActiveWorkbook.SaveAs "Book1.xls", , , , , , xlShared