Executar uma macro

Há várias maneiras de executar uma macro no Microsoft Excel. Macro é uma ação ou um conjunto de ações que você pode usar para automatizar tarefas. As macros são gravadas na linguagem de programação VBA (Visual Basic for Applications). Sempre é possível executar uma macro clicando no comando Macros da faixa de opções. Dependendo de modo como uma macro é atribuída para execução, talvez também seja possível executá-la pressionando a tecla de atalho combinação com CTRL, clicando em um botão da Barra de Ferramentas de Acesso Rápido ou em um grupo personalizado na faixa de opções, ou ainda clicando na área de um objeto, gráfico ou controle. Além disso, também é possível executar a macro automaticamente quando uma pasta de trabalho é aberta.

Observação : Quando você define o nível de segurança de macro no Excel como Desabilitar todas as macros sem notificação, o Excel executa apenas as macros assinadas digitalmente ou armazenadas em um local confiável, como a pasta de inicialização do Excel em seu computador. Se a macro que você deseja executar não estiver assinada digitalmente ou armazenada em um local confiável, você poderá alterar temporariamente o nível de segurança que habilita todas as macros.

Antes de executar macros

É necessário alterar algumas configurações no Excel para que você possa executar macros:

  1. Se a guia Desenvolvedor não estiver disponível, exiba-a. Para saber mais, confira Mostrar a guia Desenvolvedor.

  2. Para definir o nível de segurança temporariamente e habilitar todas as macros, faça o seguinte:

    1. Na guia Desenvolvedor, no grupo Código, clique em Segurança de Macro.

      Guia Desenvolvedor na Faixa de Opções
    2. Na categoria Configurações de Macro, em Configurações de Macro, clique em Habilitar todas as macros (não recomendado; códigos possivelmente perigosos podem ser executados) e, em seguida, clique em OK.

      Observação : Para ajudar a impedir a execução de códigos possivelmente perigosos, é recomendável que você retorne a qualquer uma das configurações que desabilita todas as macros após trabalhar com macros.

  1. Abra a pasta de trabalho que contém a macro.

  2. Na guia Desenvolvedor, no grupo Código, clique em Macros.

    Guia Desenvolvedor na Faixa de Opções
  3. Na caixa Nome da macro, clique na macro a ser executada.

  4. Siga um destes procedimentos:

    • Você também pode pressionar CTRL + F8 para executar a macro. Para interromper a macro, pressione ESC.

    • Para executar uma macro de um módulo do Microsoft Visual Basic for Applications (VBA), clique em Editar e, no menu Executar, clique em Executar Subformulário/Formulário do Usuário ou pressione F5.

  1. Na guia Desenvolvedor, no grupo Código, clique em Macros.

    Guia Desenvolvedor na Faixa de Opções
  2. Na caixa Nome da macro, clique na macro a ser atribuída a uma tecla de atalho de combinação com Ctrl.

  3. Clique em Opções.

    A caixa de diálogo Opções de Macro é exibida.

  4. Na caixa Tecla de atalho, digite qualquer letra maiúscula ou minúscula a ser usada com a tecla Ctrl.

    Observação : A tecla de atalho substituirá qualquer tecla de atalho padrão equivalente do Excel enquanto a pasta de trabalho que contém a macro estiver aberta.

    Para obter uma lista das teclas de atalho de combinação CTRL que já estão atribuídas no Excel, confira Teclas de atalho e de função do Excel.

  5. Na caixa Descrição, digite uma descrição da macro.

  6. Clique em OK para salvar suas alterações e depois em Cancelar para fechar a caixa de diálogo Macro.

Para executar uma macro a partir de um botão na Barra de Ferramentas de Acesso Rápido, primeiro é necessário adicionar o botão à barra de ferramentas. Para fazê-lo, confira Atribuir uma macro a um botão:

Você pode criar um grupo personalizado para ser exibido em uma guia na faixa de opções e, em seguida, atribuir uma macro a um botão nesse grupo. Por exemplo, é possível adicionar um grupo personalizado, denominado "Minhas Macros", à guia Desenvolvedor e depois adicionar uma macro (exibida como botão) ao novo grupo. Para fazer isso, confira Atribuir uma macro a um botão.

Executar uma macro clicando em uma área de um objeto gráfico

Você pode criar um ponto de acesso em um elemento gráfico no qual os usuários podem clicar para executar uma macro.

  1. Na planilha, insira um objeto gráfico; por exemplo, imagem, clip-art, forma ou SmartArt.

    Para saber mais sobre a inserção de objetos gráficos, confira Adicionar, alterar ou excluir formas.

  2. Para criar um ponto de acesso no objeto existente, clique em Inserir > Formas, selecione a forma a ser usada e desenhe-a no objeto existente.

    Formas
  3. Clique com o botão direito no ponto de acesso que você criou e clique em Atribuir Macro.

  4. Siga um destes procedimentos:

    • Para atribuir uma macro existente ao objeto gráfico, clique duas vezes na macro ou digite o nome na caixa Nome da macro.

    • Para gravar uma nova macro a ser atribuída ao objeto gráfico selecionado, clique em Gravar, digite um nome para a macro na caixa de diálogo Gravar Macro e depois clique em OK para começar a gravar a macro. Ao concluir a gravação da macro, clique em Parar Gravação Imagem do botão na guia Desenvolvedor do grupo Código.

      Dica : Você também pode clicar em Parar Gravação Imagem do botão à esquerda da barra de status.

    • Para editar uma macro existente, clique no nome da macro na caixa Nome da macro e clique em Editar.

  5. Clique em OK.

  6. Na planilha, selecione o ponto de acesso. Isso exibe as Ferramentas de Desenho, adicionando uma guia Formatar.

  7. Na guia Formatar, no grupo Estilos de Forma, clique na seta ao lado de Preenchimento da Forma e, em seguida, clique em Sem Preenchimento.

    Menu de opções de cores de preenchimento de forma

  8. Clique na seta ao lado de Contorno da Forma e em Sem Contorno.

Se você gravar uma macro e salvá-la com o nome Abrir_auto, a macro será executada sempre que você abrir a pasta de trabalho que contém a macro . Outro modo de executar uma macro automaticamente quando você abre uma pasta de trabalho é gravar um procedimento do VBA no evento Abrir da pasta de trabalho com o Editor do Visual Basic. O evento Abrir é um evento interno de pasta de trabalho que executa seu código de macro sempre que a pasta de trabalho é aberta.

Criar uma macro Abrir_auto

  1. Para salvar a macro com uma pasta de trabalho específica, primeiro abra essa pasta de trabalho.

  2. Na guia Desenvolvedor, no grupo Código, clique em Gravar Macro.

  3. Na caixa Nome da macro, digite Abrir_auto.

  4. Na lista Armazenar macro em, selecione a pasta de trabalho na qual deseja armazenar a macro.

    Dica : Para que uma macro esteja disponível sempre que você usar o Excel, selecione Pasta de Trabalho Pessoal de Macros. Quando você seleciona Pasta de Trabalho Pessoal de Macros, o Excel cria uma pasta de trabalho pessoal de macros oculta (Pessoal.xlsb), quando ela não existe ainda, e salva a macro nessa pasta de trabalho. No Windows Vista, essa pasta de trabalho é salva na pasta C:\Usuários\nome de usuário\AppData\Local\Microsoft\Excel\XLStart. Se você não conseguir encontrá-la nesse local, é possível que ela tenha sido salva na subpasta Roaming, em vez de Local. No Microsoft Windows XP, essa pasta de trabalho é salva na pasta C:\Documents and Settings\nome de usuário\Application Data\Microsoft\Excel\XLStart. As pastas de trabalho da pasta XLStart são abertas automaticamente sempre que o Excel é iniciado. Se desejar que uma macro da pasta de trabalho pessoal de macros seja executada automaticamente em outra pasta de trabalho, você também deverá salvá-la na pasta XLStart para que ambas sejam abertas quando o Excel for iniciado.

  5. Clique em OK e execute as ações que deseja gravar.

  6. Na guia Desenvolvedor, no grupo Código, clique em Parar Gravação Imagem do botão .

    Dica : Você também pode clicar em Parar Gravação à esquerda da barra de status.

    Botão Parar gravação na barra de status

Observações : 

  • Se optar por salvar a macro em Esta Pasta de Trabalho ou em Nova Pasta de Trabalho na etapa 6, salve ou mova a pasta de trabalho para uma das pastas XLStart.

  • A gravação de uma macro Abrir_auto tem as seguintes limitações:

    • Se a pasta de trabalho na qual a macro Abrir_auto for salva já contiver um procedimento do VBA no seu evento Abrir, o procedimento do VBA do evento Abrir substituirá todas as ações na macro Abrir_auto.

    • A macro Abrir_auto é ignorada quando uma pasta de trabalho é aberta por programação usando o método Abrir.

    • Uma macro Abrir_auto é executada antes de qualquer outra pasta de trabalho ser aberta. Portanto, se você gravar ações a serem executadas no Excel na pasta de trabalho padrão Pasta1, ou em uma pasta de trabalho que seja carregada da pasta XLStart, a macro Abrir_auto falhará quando você reiniciar o Excel, porque a macro é executada antes das pastas de trabalho padrão e de inicialização serem abertas.

      Se encontrar essas limitações, em vez de gravar uma macro Auto_Abrir, você deve criar um procedimento do VBA para o evento Abrir, conforme descrito na próxima seção deste artigo.

  • Para que o Excel seja iniciado sem executar uma macro Abrir_auto, mantenha pressionada a tecla SHIFT ao iniciar o Excel.

Criar um procedimento do VBA para o evento de uma pasta de trabalho

O exemplo a seguir usa o evento Abrir para executar uma macro quando você abrir a pasta de trabalho.

  1. Salve e feche quaisquer pastas de trabalho abertas.

  2. Abra a pasta de trabalho na qual você deseja adicionar a macro ou crie uma nova pasta de trabalho.

  3. Na guia Desenvolvedor, no grupo Código, clique em Visual Basic.

  4. Na janela do Explorador de Projeto, clique com o botão direito do mouse no objeto Esta Pasta de trabalho e clique em Exibir Código.

    Dica : Se a janela do Explorador de Projeto não estiver visível, no menu Modo de exibição, clique em Explorador de Projeto.

  5. Na lista Objeto acima da janela Código, selecione Pasta de trabalho.

    Isso cria um procedimento vazio automaticamente para o evento Abrir, como este:

    Private Sub Workbook_Open()

    End Sub

  6. Adicione as seguintes linhas de código ao procedimento:

    Private Sub Workbook_Open()
    MsgBox Date
    Worksheets("Sheet1").Range("A1").Value = Date
    End Sub

  7. Alterne para o Excel e salve a pasta de trabalho como uma pasta de trabalho habilitada para macro (.xlsm).

  8. Feche a pasta de trabalho e torne a abri-la. Quando você abrir o arquivo novamente, o Excel executará o procedimento Workbook_Open, que exibe a data de hoje em uma caixa de mensagem.

  9. Clique em OK na caixa de mensagem.

    Observação : A célula A1 na Planilha1 também contém a data em função da execução do procedimento Workbook_Open.

Precisa de mais ajuda?

Você pode sempre consultar um especialista na Excel Tech Community, obter suporte na Comunidade de respostas ou sugerir um novo recurso ou melhoria no UserVoice do Excel

Início da página

Consulte Também

Executar uma macro automaticamente ao abrir uma pasta de trabalho

Automatizar tarefas com o Gravador de macros

Gravar uma macro para abrir pastas de trabalho específicas ao iniciar o Excel

Criar e salvar todas as macros em uma única pasta de trabalho

Salvar uma macro

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×