I am interpreting this as you change the date in the first sheet of the 52 sheets and then the dates in the other 51 sheets get changed by adding 7 to the date in the previous sheet. Four sheets are to be excluded from the name change.
Something to remember when re-naming sheets based on Formulas is to ensure that there is no possibility of a clash with sheet names. For instance if you changed the date in the controlling sheet by one week then there will already be sheets named with dates
that are to become the new sheet names for other sheets and the code will fail. To overcome this, rename all of the sheets to temporary names before renaming to the new names.
The following code is designed to go into the code module of the controlling worksheet where you change the date and then each time the date is changed, the code will auotmatically execute.
To install the code:
Right Click the tab name of the controlling worksheet and select View Code.
Copy the code below into the VBA editor.
Note the comments and edit the code in the Case statement to list the sheets that are not to be included for the name change. Ensure you get the sheet names correct with no typos.
Private Sub Worksheet_Change(ByVal Target As Range)
'Following line assumes that date is changed in cell C3
If Target.Address = "$C$3" Then
Dim ws As Worksheet
Dim i As Long
'Rename sheets with temporary name so no possibility of name clash
For Each ws In Worksheets
Select Case ws.Name
'Edit following line with list of sheets to exclude
Case "Sheet1", "Sheet2", "Sheet3", "Sheet4"
'Do nothing with these sheets
Case Else
i = i + 1
'Select a name in following line that is unlikely to be used elsewhere
ws.Name = "OssieMac" & i
End Select
Next ws
For Each ws In Worksheets
Select Case ws.Name
'Edit following line with list of sheets to exclude
Case "Sheet1", "Sheet2", "Sheet3", "Sheet4"
'Do nothing with these sheets
Case Else
If IsDate(ws.Range("C3")) Then
ws.Name = Format(ws.Range("C3"), "dd-mmm")
Else
'MsgBox included in case of error with date in cell C3
MsgBox "Worksheet " & ws.Name & " does not have valid date in cell C3"
End If
End Select
Next ws
Set ws = Nothing
End If
End Sub