VBA - Planilhas

Nesta página coloquei os principais comando para manipular planilhas, como criar, apagar, proteger entre outras, espero que possa ser útil e sirva como guia de consulta.


Macro que exibe a quantidade de planilhas existente

Sub exibeQtdePlanilhas()
MsgBox Sheets.Count
End Sub

Macro que cria uma planilha nova.

Sub criarPlanilha()
Sheets.Add
End Sub

Macro que cria uma planilha Antes

Sub criarPlanilhaAntes()
Sheets.Add before:=Sheets("Plan1")
End Sub

Macro que cria uma planilha Depois

Sub criarPlanilhaDepois()
Sheets.Add after:=Sheets("Plan1")
End Sub

Macro que insere planilha na primeira posição

Sub inserirPrimeiraPosicao()
Sheets.Add before:=Sheets(1)
End Sub

Macro que insere planilha na última posição

Sub inserirUltimaPosicao()
Sheets.Add after:=Sheets(Sheets.Count)
End Sub

Macro que apaga uma planilha

Sub apagarPlanilha()
Sheets("Plan1").Delete
End Sub

Macro que Renomeia uma Planilha

Sub renomearPlanilha()
Sheets("Plan1").Name = "Relatório"
End Sub

Macro que seleciona a Planilha pelo seu nome

Sub selecionaPlanilhaNome()
Sheets("Plan1").Select
End Sub

Macro que seleciona a Planilha pelo seu Indíce

Sub selecionaPlanilhaIndice()
Sheets(1).Select
End Sub

Para selecionar a planilha pelo nome do VBA

Sub selecionarPlanilhaNomeVBA()
Plan1.Select 'Para excel em Português
Sheets1.Select 'Para excel em Inglês
End Sub

Macro que move uma planilha antes de uma determinada planilha

Sub movePlanilhaAntes()
Sheets("Plan3").Move before:=Sheets(2)
End Sub

Macro que move planilha para depois de uma determinada planilha

Sub movePlanilhaDepois()
Sheets("Plan1").Move after:=Sheets("Plan3")
End Sub

Macro que protege a planilha

Sub protegePlanilha()
Sheets("Plan1").Protect "senha"
End Sub

Macro que desprotege a planilha

Sub desprotegePlanilha()
Sheets("Plan1").Unprotect
End Sub

Macro que oculta a planilha

Sub ocultaPlanilha()
Sheets("Plan1").Visible = xlSheetHidden
End Sub

Macro que oculta a planilha e não mostra na guia o reexibir

Sub ocultarMuitoPlanilha()
Sheets("Plan1").Visible = xlSheetVeryHidden
End Sub

Macro que mostra a planilha

Sub mostrarPlanilha()
Sheets("Plan1").Visible = xlSheetVisible
End Sub

Macro que protege todas as planilhas

Sub protegerTodas()
Dim plan As Worksheet
For Each plan In Worksheets
plan.Protect 123
Next
End Sub

Macro que desprotege todas as planilhas

Sub protegerTodas()
Dim plan As Worksheet
For Each plan In Worksheets
plan.Protect 123
Next
End Sub

Macro que oculta todas as planilhas, menos a Plan1 por não poder ocultar todas

Sub ocultarTodas()
Dim plan As Worksheet
For Each plan In Worksheets
If plan.Name <> "Plan1" Then
plan.Visible = xlSheetVeryHidden
End If
Next
End Sub

Macro que mostra todas as planilhas

Sub mostrarTodas()
Dim plan As Worksheet
For Each plan In Worksheets
plan.Visible = xlSheetVisible
Next
End Sub

Macro que mostra o nome da planilha ativa

Sub mostrarNomePlanilhaAtiva()
MsgBox ActiveSheet.Name
End Sub

Macro que copia planilha Antes

Sub copiarPlanilhaAntes()
Sheets("Plan1").Copy before:=Sheets(1)
End Sub

Macro que copia planilha depois

Sub copiarPlanilhaDepois()
Sheets("Plan1").Copy after:=Sheets(1)
End Sub

Macro que transforma uma planilha em um arquivo

Sub gerarNovoArquivoDaPlanilha()
Sheets.Copy
ActiveWorkbook.SaveAs Filename:="c:\Excel\Novo arquivo.xlsx"
End Sub

Macro que pinta a guia da planilha

Sub pintarGuiaDaPlanilha()
Sheets("Plan1").Tab.Color = RGB(255, 0, 0)
End Sub

Proteger planilha e determiner as células que não estarão protegidas

Sub habilitarCelulasProteger()
Range("A1.A10").Locked = False
ActiveSheet.Protect 123
End Sub

Opções de proteção de Planilhas

'Protege e não permite selecionar celulas bloqueadas
ActiveSheet.EnableSelection = xlUnlockedCells
'Protege e permite formatar as células
ActiveSheet.Protect AllowFormattingCells:=True
'Protege e permite formatar as colunas
ActiveSheet.Protect AllowFormattingColumns:=True
'Protege e permite formatar as linhas
ActiveSheet.Protect AllowFormattingRows:=True
'Protege e permite inserir colunas
ActiveSheet.Protect AllowInsertingColumns:=True
'Protege e permite inserir linhas
ActiveSheet.Protect AllowInsertingRows:=True
'Protege e permite inserir hiperlinks
ActiveSheet.Protect AllowInsertingHyperlinks:=True
'Protege e permite apagar colunas
ActiveSheet.Protect AllowDeletingColumns:=True
'Protege e permite apagar linhas
ActiveSheet.Protect AllowDeletingRows:=True
'Protege e permite editar os objetos
ActiveSheet.Protect DrawingObjects:=True
'Protege e permite classificar
ActiveSheet.Protect AllowSorting:=True
'Protege e permite filtrar os dados
ActiveSheet.Protect AllowFiltering:=True
'Protege e permite usar os relatórios de tabela dinâmica
ActiveSheet.Protect AllowUsingPivotTables:=True

Macro que seleciona várias planilhas

Sub selecionarVariasPlanilhas()
Sheets(Array("Plan1", "Plan2", "Plan3", "Plan4", "Plan5")).Select
End Sub

Macro que apaga várias planilhas

Sub apagaVariasPlanilhas()
Sheets(Array("Plan1", "Plan2", "Plan3")).Delete
End Sub

Macro que imprime determinada planilha

Sub imprimirPlanilha()
Sheets("Plan1").PrintOut
End Sub