Como atribuir uma macro a um botão no Excel (guia fácil)

Embora existam muitas maneiras diferentes de executar uma macro no Excel, nenhum desses métodos pode ser tão fácil e amigável quanto clicar em um botão.

E para que isso funcione, você precisa primeiro atribuir uma macro a um botão.

Neste tutorial, mostrarei algumas maneiras de inserir um botão no Excel e, em seguida, atribuir uma macro a esse botão (ou forma). Feito isso, assim que um usuário clicar no botão, o código VBA da macro será executado.

Para o propósito deste tutorial, estarei usando o código de macro VBA abaixo (que simplesmente seleciona a célula A1 na planilha ativa e insere o texto “Bom dia” nela e o pinta de vermelho).

Sub GoodMorning () With ActiveSheet.Range ("A1") .Value = "Bom dia" .Interior.Color = vbRed End With End Sub

O código VBA acima é colocado em um módulo regular no Editor VB

Agora vamos mergulhar de cabeça e ver como você pode atribuir essa macro a um botão ou forma no Excel!

Insira uma forma e atribua uma macro a essa forma

Embora existam botões dedicados que você pode inserir na planilha e, em seguida, atribuir a macro a ela, primeiro abordarei como atribuir uma macro a uma forma.

Eu, pessoalmente, adoro esse método e prefiro-o aos outros dois métodos abordados posteriormente. Você pode inserir facilmente uma forma (quadrado ou retângulo) e torná-la semelhante a um botão.

E como é uma forma, você pode formatá-lo facilmente para ficar perfeito com a formatação existente ou as cores da marca.

Abaixo estão as etapas para inserir uma forma no Excel:

  1. Clique na guia Inserir
  2. No grupo de ilustrações, clique em Formas
  3. Nas opções de formas, clique na opção Retângulo. Você notará que o seu cursor muda para um ícone de mais
  4. Clique em qualquer lugar da planilha. Isso irá inserir uma forma de retângulo na planilha.
  5. Redimensione o retângulo e formate-o (dê a ele uma borda, cor ou sombra, se desejar).

Depois de realizar as etapas acima, você terá uma forma de retângulo na planilha e agora iremos atribuir uma macro a esta forma.

Observe que inseri uma forma de retângulo neste exemplo, mas você pode inserir qualquer forma que desejar (como um círculo, triângulo ou seta). Eu prefiro usar um retângulo e parece um botão e é mais intuitivo.

Agora vamos ver como atribuir uma macro a esta forma.

  1. Clique com o botão direito na forma à qual deseja atribuir a macro
  2. Nas opções do menu que aparecem, clique em ‘Atribuir macro’. Isto irá abrir a caixa de diálogo de atribuição de macro
  3. Na caixa de diálogo Atribuir Macro, você verá uma lista de todas as macros que você tem na pasta de trabalho
  4. Clique no nome da macro que deseja atribuir a esta forma. Neste exemplo, clicarei na macro chamada ‘GoodMorning
  5. Clique em OK

É isso!

A macro selecionada agora foi atribuída à forma.

Agora, quando você passar o cursor sobre a forma, ele mostrará o ícone de mão. o que indica que agora esta forma se tornou clicável.

E agora, se você clicar na forma, ela executará a macro atribuída.

Você pode digitar qualquer texto dentro da forma para torná-lo mais intuitivo (como "Clique aqui para executar a macro"). Para fazer isso. clique com o botão direito na forma e clique em Editar texto. Agora você pode digitar dentro da forma da caixa de texto.

Observe que você não será capaz de clicar e executar a macro quando a forma for selecionada (ou seja, você vê uma borda ao redor da forma que aparece quando você a seleciona). Para torná-la clicável, pressione a tecla Escape ou clique em qualquer lugar na planilha.

Além disso, quando você já atribuiu a macro à forma, não será capaz de selecioná-la usando a tecla esquerda do mouse (pois ela se tornou clicável e o clique com o botão esquerdo agora executaria a macro). Nesse caso, selecione a forma, segure a tecla Ctrl e pressione a tecla esquerda.

Manter a forma visível ao ocultar / redimensionar linhas / colunas

No Excel. quando você insere uma forma, ela fica sobre as células - como um gráfico / objeto.

Isso também tem a desvantagem de que, quando você redimensiona ou oculta linhas / colunas que têm a forma sobre elas, a forma também segue o exemplo.

No exemplo abaixo, a forma fica oculta quando oculto a coluna na qual ela é colocada.

Se você não quiser que isso aconteça, siga as etapas abaixo:

  1. Clique com o botão direito na forma
  2. Clique em Formatar Forma
  3. No painel Formatar Forma (ou caixa de diálogo, caso você esteja usando o Excel 2010 ou versões anteriores), selecione Tamanho e Propriedades
  4. Nas opções de Propriedades, selecione a opção - ‘Não mova ou dimensione com células’
  5. Feche o painel (ou caixa de diálogo)

Agora, quando você redimensiona linhas / colunas ou as oculta, a forma permaneceria em seu lugar.

Atribuir uma macro ao botão de controle do formulário

Se você não estiver muito preocupado com a formatação do botão e não tiver problemas com os botões cinza normais, poderá inseri-lo rapidamente a partir do controle de formulário (ou controle ActiveX, conforme mostrado a seguir) e, em seguida, atribuir uma macro a ele.

Para que isso funcione, você precisará ter a guia Desenvolvedor em sua faixa de opções. Se você não tiver, aqui está um tutorial passo a passo detalhado sobre como obter a guia do desenvolvedor na faixa de opções do Excel.

Depois de ter a guia do desenvolvedor visível, você pode usar as etapas abaixo para inserir rapidamente um botão e atribuir uma macro a ele:

  1. Clique na guia Desenvolvedor
  2. No grupo Controle, clique em Inserir.
  3. Nas opções que aparecem, nas opções de Controles de formulário, clique na opção Botão (Controle de formulário).
  4. Clique em qualquer lugar da planilha. Isso irá inserir o botão onde você clicar e abrir automaticamente a caixa de diálogo ‘Atribuir macro’.
  5. Na caixa de diálogo Atribuir Macro, você verá uma lista de todas as macros que você tem na pasta de trabalho
  6. Clique no nome da macro que deseja atribuir a este botão. Neste exemplo, clicarei na macro chamada ‘GoodMorning’
  7. Clique em OK

As etapas acima inserem um botão que possui a macro especificada atribuída a ele.

Por padrão, seria um pequeno botão com um texto como ‘Botão’ escrito nele. Você pode alterar o texto para o que quiser e também pode alterar a forma do botão (arrastando as bordas).

Como este é um objeto que é colocado sobre a planilha (assim como formas / gráficos), você pode arrastá-lo e colocá-lo em qualquer lugar da planilha.

Uma desvantagem de usar o botão de controle de formulário é que você não tem muito controle sobre a formatação. Por exemplo, você não pode mudar a cor de cinza para outra cor.

Embora haja um pouco de formatação que você pode fazer com um botão de controle de formulário, não está nada perto do que você pode fazer com formas.

Você obtém essas opções de formatação de botão quando clica com o botão direito do mouse no botão e, em seguida, clica em Controle de formatação.

Isso abrirá a caixa de diálogo Format Control, onde você pode alterar o tipo / cor da fonte, tamanho, alinhamento, etc.

Uma coisa boa sobre este botão é que ele não oculta ou redimensiona quando você oculta as linhas / colunas ou as redimensiona. No entanto, ele se moverá caso você altere a altura ou largura ou a linha / coluna sobre a qual o botão é colocado.

Caso não queira que o botão permaneça em seu lugar, você pode alterar a configuração seguindo as etapas abaixo:

  1. Clique com o botão direito no botão
  2. Clique em Format Control
  3. Clique na guia Propriedades
  4. Selecione a opção - "Não mova ou dimensione com células"
  5. Clique OK

Atribuir uma macro a um botão de controle ActiveX

Além do botão de controle de formulário, há também um botão de controle ActiveX ao qual você pode atribuir uma macro.

Na maioria dos casos, você não precisará usar o botão de controle ActiveX e recomendo que você o use apenas quando entender completamente o que é e o que está fazendo.

Quer saber por que temos dois tipos diferentes de botões - Form Control e ActiveX? Embora os controles de formulário sejam embutidos no aplicativo Excel, o ActiveX é carregado de uma DLL separada (bibliotecas de vínculo dinâmico). Isso torna os botões de controle de formulário muito mais robustos e confiáveis ​​em comparação com os botões ActiveX. Você pode ler mais sobre essa diferença aqui em uma postagem no StackOverflow.

Isso também, às vezes, torna o ActiveX um pouco problemático e imprevisível. Portanto, embora eu cubra isso neste tutorial, não recomendo usar o botão ActiveX e atribuir uma macro a ele.

Para inserir um botão ActiveX e atribuir uma macro a ele, siga as etapas abaixo:

  1. Clique na guia Desenvolvedor
  2. No grupo Controle, clique em Inserir.
  3. Nas opções que aparecem, nas opções de Controles ActiveX, clique na opção Botão de Comando.
  4. Clique em qualquer lugar da planilha. Isso irá inserir o botão onde você clicar.
  5. Dê um duplo clique no botão e ele abrirá o backend do VB Editor, onde você pode colocar o código para o botão ActiveX

Com o controle ActiveX, você obtém muito mais flexibilidade com um único botão. Por exemplo, você pode especificar uma macro para ser executada quando você simplesmente clica no botão uma vez e outra macro quando você clica duas vezes ou até mesmo outra quando você usa a tecla de seta para cima / para baixo.

Novamente, não é algo que você precise usar em seu trabalho regular.

Outra opção que você pode considerar (ao trabalhar com botões / formas e atribuir macros a eles) é adicionar a macro à Barra de Ferramentas de Acesso Rápido. Dessa forma, você pode executar a macro com um único clique e ela estará sempre visível no QAT.

Espero que você tenha achado este tutorial útil. Se você estiver interessado em aprender VBA, pode conferir tutoriais mais detalhados do Excel VBA aqui.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave