Veja os comentários no código. Esse código deve ser anexado à planilha na qual as entradas para a célula A1 alterarão o nome da planilha. Para fazer isso, clique com o botão direito do mouse na guia nome da planilha e selecione View Code
. Copie o código e cole-o no painel de código (o painel grande na área superior direita do editor de código.
Para alterar a célula para as entradas de alteração de nome de "A1", basta alterar o endereço da célula na linha If Target.Address = "$A$1" Then
. Certifique-se de incluir os cifrões.
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