Смотрите комментарии в коде. Этот код должен быть прикреплен к листу, в котором записи в ячейке A1 изменят название листа. Для этого щелкните правой кнопкой мыши на вкладке имени листа и выберите « View Code
. Скопируйте код и вставьте его в область кода (большая панель в правой верхней части редактора кода).
Чтобы изменить ячейку для записей об изменении имени с "A1", просто измените адрес ячейки в строке If Target.Address = "$A$1" Then
. Не забудьте включить знаки доллара.
Sub Worksheet_Change(ByVal Target As Range)
'Worksheet change event occurs when a change is made
'to a cell's value in this sheet
'Target is the cell (or cells) in which values have been changed
'Trigger worksheet name change only when a new name is
'entered in cell A1
If Target.Address = "$A$1" Then
'Don't change name if a formula is entered into cell A1
'since worksheet change event does not trigger when
'a formula is recalculated (in other words, name will not
'change when the value of the formula changes
If Not Target.HasFormula Then
'Don't change name if no value in cell A1
If Not Target.Value = vbNullString Then
'Do custom error handling in order to
'gracefully catch entry of invalid sheet names
'and other (less likely) errors
On Error GoTo ErrHandler
'The event will trigger only for the sheet to
'which the code for the change event is attached,
'so okay to refer to ActiveSheet
ActiveSheet.Name = Target.Value
End If
End If
End If
Exit Sub
ErrHandler:
Warn user of error
MsgBox "Error " & Err & ":" & Error(Err)
'Turn default error checking back on
On Error GoTo 0
'And end the sub
End Sub