DRJ, if you're listening:

I have been using the following code:

Option Explicit 
  
 Public Sub ProtectAll() 
Const PWORD As String = "mysecretword" 
Dim wsSheet As Worksheet 
For Each wsSheet In Worksheets 
 wsSheet.Protect Password:=PWORD, DrawingObjects:=False, _ 
 Contents:=True, Scenarios:=True, AllowFiltering:=True, _ 
 AllowUsingPivotTables:=True, UserInterfaceOnly:=True 
 Next wsSheet 
End Sub

It has been working quite well for me (the sole exception being a conflict with the Pivot Table's auto-refresh feature).

What statements can I add to the above to also allow formatting of cells and rows?

Thanks!