Como renomear uma planilha usando vba no excel?

Ao adicionar uma nova planilha a uma pasta de trabalho, você tem a opção de nomeá-la. Mas você também pode renomeá-lo a qualquer momento usando a propriedade name da planilha. Neste tutorial, veremos diferentes maneiras de renomear uma planilha ou várias planilhas usando código VBA.

Etapas para renomear uma planilha usando código VBA

  1. Primeiro, defina a planilha que deseja renomear usando o objeto planilha.
  2. Depois disso, você precisa usar (.Name) para acessar a propriedade do nome que deseja modificar.
  3. Em seguida, digite um sinal de igual para informar ao VBA o valor que deseja usar para renomear a planilha.
  4. Ao final, digite o nome da planilha que deseja usar.
defina a planilha que você deseja renomear

Links úteis: Executar uma macroGravador de macroEditor Visual BasicManual pessoal de macros

Renomear planilha ativa

Se você deseja renomear a planilha ativa, neste caso você não precisa definir o nome da planilha, em vez disso você precisa usar o objeto ActiveSheet que diz ao VBA para se referir à planilha ativa neste momento. Aqui está o código.

 Activesheet.Name = "mySheet"
renomear planilha ativa

Nota: Para renomear uma planilha, não é necessário ativá-la.

Renomeie uma planilha usando o número da planilha

Como você sabe, cada planilha possui um número dependendo de sua posição na pasta de trabalho. Digamos que você queira renomear a planilha que possui no quinto número, o código seria.

 Sheets(5).Name = "mySheet5"
renomear uma planilha usando o número da planilha

Ao executar a macro acima , ela renomeia a planilha que está no quinto número.

renomear planilha como por número

Verifique se a planilha existe antes de renomear

Se você tentar renomear uma planilha que não existe, o VBA mostrará um erro, como abaixo.

verifique se a planilha existe antes de renomear

A solução para esse problema é o código a seguir que usa FOR EACH , que pode percorrer todas as planilhas para encontrar a planilha que você definiu e renomeá-la.

 Sub check_sheet_rename() Dim ws As Worksheet Dim mySheet As String Dim SheetName As String mySheet = InputBox("enter the name of the sheet that you want to rename.") SheetName = InputBox("Enter new name for the sheet.") For Each ws In ThisWorkbook.Worksheets If mySheet = ws.Name Then ws.Name = SheetName End If Next ws End Sub

Renomeie uma planilha usando o valor de uma célula ou intervalo

Você também pode renomear uma planilha assumindo o valor de uma célula. Digamos que o valor esteja na célula A1.

 Sheets("Sheet1").name = Range("A1").Value

Mas digamos que você queira nomear várias planilhas com base nos valores de um intervalo de células. Neste caso você deve ter um código como este.

 Sub vba_sheet_rename_multiple() Dim wsCount As Long Dim rCount As Long Dim ws As Worksheet Dim name As Range Dim i As Long wsCount = ThisWorkbook.Worksheets.Count rCount = Range("A1:A10").Rows.Count 'Checks if the count of the names provided is less _ or more than the sheets in the workbook If wsCount <> rCount Then MsgBox "There's some problem with the names provided." Exit Sub Else 'Check if any of the cells in the name range is empty. For Each name In Range("A1:A10") If IsEmpty(name) = True Then i = i + 1 End If Next name If i > 0 Then MsgBox "There's is a blank cell in the names range." Exit Sub End If End If 'rename each sheet using the value from the range cell by cell. i = 1 For Each ws In ThisWorkbook.Worksheets ws.name = Range("A1:A10").Cells(i, 1).Value i = 1 + i Next ws End Sub

Ao executar esse código VBA, ele primeiro verifica se as células do intervalo são iguais ao número de planilhas que você possui na pasta de trabalho. Depois disso, ele verificará se todas as células do intervalo que você especificou possuem valores ou não. E no final renomeie todas as planilhas usando esses nomes.

Ele verificará duas condições usando IF THEN ELSE e renomeará todas as planilhas.

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *