Rotina VBA para adicionar e nomear planilhas
In this Article
Este tutorial abordará como adicionar/inserir planilhas usando o VBA.
Adicionar planilha
Essa macro simples adicionará uma planilha antes da ActiveSheet:
Sub Adicionar()
Sheets.Add
End Sub
Depois que você inserir uma planilha, a nova planilha se tornará a ActiveSheet. Em seguida, você pode usar o objeto ActiveSheet para trabalhar com a nova planilha (no final deste artigo, mostraremos como inserir uma nova planilha diretamente em uma variável).
ActiveSheet.Name = "NovaPlanilha"
Adicionar uma Planilha com um Nome
Você também pode definir um nome de planilha ao criar a nova planilha:
Sheets.Add.Name = "NovaPlanilha"
Criar Nova Planilha com Nome de uma Célula
Ou usar um valor de célula para nomear uma nova planilha:
Sheets.Add.Name = range("a3").value
Adicionar Planilha Antes / Depois de Outra Planilha
Talvez você também queira escolher o local onde a nova planilha será inserida. Você pode usar as propriedades After (Depois) ou Before (Antes) para inserir uma planilha em um local específico da pasta de trabalho.
Inserir Planilha Após Outra Planilha
Esse código inserirá a nova planilha DEPOIS de outra planilha:
Sheets.Add After:=Sheets("Entrada")
Isso inserirá uma nova planilha DEPOIS de outra planilha e especificará o nome da planilha:
Sheets.Add(After:=Sheets("Entrada")).Name = "NovaPlanilha"
Observe o parêntese extra necessário no segundo exemplo (o primeiro exemplo gerará um erro se o segundo parêntese for adicionado).
ou Antes:
Sheets.Add(Before:=Sheets("Entrada")).Name = "NovaPlanilha"
Nesses exemplos, nomeamos explicitamente a planilha usada para determinar o local da planilha. Muitas vezes, em vez disso, você desejará usar o número de índice da planilha, para que possa inseri-la no início ou no final da pasta de trabalho:
Adicionar Planilha ao Final da Pasta de Trabalho
Para adicionar uma planilha ao final da pasta de trabalho:
Sheets.Add After:=Sheets(Sheets.Count)
Adicionar planilha ao início da pasta de trabalho:
Para adicionar uma planilha ao início da pasta de trabalho:
Sheets.Add(Before:=Sheets(1)).Name = "PrimeiraPlanilha"
Adicionar Planilha à Variável
Esse código atribui a nova planilha a uma variável à medida que a planilha é criada:
Dim ws As Worksheet
Set ws = Sheets.Add
A partir daqui, você pode fazer referência à nova planilha com a variável ‘ws’:
ws.name = "PlanilhaVar"
Mais Exemplos de Como Adicionar uma Planilha
Criar Planilha Se Ela Ainda Não Existir
Talvez você queira criar uma planilha somente se ela ainda não existir.
Criação de Planilhas a Partir de uma Lista de Nomes
A rotina a seguir examinará o conteúdo de uma única coluna e criará planilhas do Excel na pasta de trabalho atual com esses nomes. Ela faz uma chamada para outra função para verificar se já existe uma planilha com esse nome e, se existir, a planilha não será criada.
Private Sub CommandButton1_Click()
Call CriarPlanilhas(Sheets("Planilha2").Range("A1:a10"))
End Sub
Sub CriarPlanilhas(Nomes_Das_Planilhas As Range)
Dim Numero_das_Palnilhas_a_Adicionar As Integer
Dim Nome_Planilha As String
Dim i As Integer
Numero_das_Palnilhas_a_Adicionar = Nomes_Das_Planilhas.Rows.Count
For i = 1 To Numero_das_Palnilhas_a_Adicionar
Nome_Planilha = Nomes_Das_Planilhas.Cells(i, 1).Value
'Somente adicione a planilha se ela ainda não existir e se o nome tiver mais de zero caracteres
If (Planilha_Existe(Nome_Planilha) = False) And (Nome_Planilha <> "") Then
Worksheets.Add().Name = Nome_Planilha
End If
Next i
End Sub
Function Planilha_Existe(Nome_Da_Planilha As String) As Boolean
Dim Planilha As Worksheet
Planilha_Existe = False
For Each Planilha In ThisWorkbook.Worksheets
If Planilha.Name = Nome_Da_Planilha Then
Planilha_Existe = True
End If
Next
End Function
Portanto, se tivermos o seguinte texto nas células A1:A30 na Planilha 2:
Serão criadas as seguintes planilhas:
Observe que, embora “Cachorro” apareça duas vezes, apenas uma planilha é criada.
Para fazer download do arquivo .XLS deste tutorial, clique aqui.
Codificação VBA facilitada
Pare de procurar códigos VBA on-line. Saiba mais sobre o AutoMacro – um construtor de código VBA que permite que os iniciantes codifiquem procedimentos do zero com o mínimo de conhecimento de codificação e com muitos recursos que economizam tempo para todos os usuários!