VBA – Executar uma Macro Quando o Excel For Iniciado

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on July 20, 2023

Você precisa executar uma macro quando o Excel é iniciado? Você tem duas opções:

1. Criar uma subseção Workbook_Open() dentro de ‘ThisWorkbook’.

2. Coloque uma subfunção Auto_Open() em qualquer módulo.

Evento Workbook_Open

Crie um subtítulo “Workbook_Open” dentro de “EstaPastaDeTrabalho”

Sub Workbook_open ()
    MsgBox "Esse código foi executado no início do Excel!"
End Sub

Auto_Open

Usando o segundo método: Basta criar uma subrotina chamada Auto_Open e inserir o código nela ou chamar outra subrotina a partir dela. Automaticamente, seu código será executado quando o Excel for iniciado.

Private Sub Auto_Open()
    MsgBox "Esse código foi executado no início do Excel!"
End Sub

Criar e Nomear Nova Planilha Sempre que o Excel for Aberto

O código a seguir funciona ao abrir uma pasta de trabalho. Ele adiciona automaticamente uma nova planilha e a rotula com a data. Ele também verifica se a planilha ainda não existe – para permitir a possibilidade de ela ser aberta mais de uma vez por dia.

Esse código usa o Workbook Open Event e deve ser colocado no módulo da pasta de trabalho sob o evento “Open Workbook”. A função Planilha_Existe deve ser colocada em um módulo e verifica se a planilha existe ou não:

Private Sub Workbook_Open()

Dim Nome_Nova_Planilha As String

Nome_Nova_Planilha = Format(Now(), "dd-mm-yy")

If Planilha_Existe(Nome_Nova_Planilha) = False Then
    With Workbook
        Worksheets.Add().Name = Nome_Nova_Planilha
    End With
End If

Save

End Sub
Function Planilha_Existe(Nome_Planilha As String) As Boolean

Dim Planilha As Worksheet

Planilha_Existe = False

For Each Planilha In ThisWorkbook.Worksheets
      If Planilha.Name = Nome_Planilha Then
        Planilha_Existe = True
    End If
   Next

End Function

Para fazer download do arquivo .XLSM deste tutorial, clique aqui

Definir a Planilha Padrão Quando a Pasta de Trabalho é Aberta

Você deseja garantir que uma planilha seja sempre exibida primeiro quando uma pasta de trabalho é aberta? Por exemplo, quando você abre uma pasta de trabalho, a planilha 3 é sempre a planilha ativa. Veja como.

Você pode se referir a uma planilha do VBA pelo nome do programa (por exemplo, Planilha3) ou pelo nome da guia (por exemplo, DadosJan). É melhor usar o nome do programa, pois se o nome da guia mudar, o código VBA que se refere a um nome de guia não funcionará mais. Entretanto, se você usar o nome do programa, o usuário poderá alterar o nome da guia várias vezes e a macro continuará funcionando.

Para garantir que uma determinada planilha seja sempre ativada quando uma pasta de trabalho for aberta, basta colocar o código sheet.activate na subfunção workbook_open. Este é um exemplo que ativa a planilha3 usando o nome do programa sempre que uma pasta de trabalho é aberta.

Private Sub Workbook_Open()
Planilha3.Activate
End Sub

E este faz isso usando o nome da guia:

Private Sub Workbook_Open()

Sheets("NomeDaMinhaPlanilha").Activate
End Sub

Observação: Você deve salvar e reiniciar o Excel para que isso funcione.
Observação: Isso só funciona se as macros estiverem ativadas.
Observação: Coloque esse código na janela de código do objeto EstaPastaDeTrabalho no VBE.

Carregar Formulário Sempre que a Pasta de Trabalho for Aberta

Se você quiser carregar um formulário ou executar algum código VBA ao abrir uma pasta de trabalho do Excel, coloque seu código na janela de código EstaPastaDeTrabalho e na subjanela Workbook_Open.

Em sua planilha:
1. Pressione ALT e F11 para abrir o editor VB
2. Clique duas vezes na palavra EstaPastaDeTrabalho para abrir a janela de código
3. Digite o seguinte código na janela de código EstaPastaDeTrabalho

Private Sub Workbook_Open()
UserForm1.Show
End Sub

Observação: Substitua Userform1 pelo nome do seu formulário

4. Feche o Excel e abra-o novamente.

abrir formulario iniciar

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 conhecimento mínimo de codificação e com muitos recursos que economizam tempo para todos os usuários!

alt text

Saiba mais!


<<Retornar aos exemplos de VBA

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA