![]()
Neste tutorial, iremos mostrar 2 exemplos de como criar um botão no Excel e atribuir a uma macro. No primeiro exemplo, iremos utilizar o botão do “Controle de Formulários” e no segundo exemplo iremos utilizar uma “Forma”.
Além de mostrar como criar um botão que executa uma macro, iremos mostrar também como fazer para que o botão não se redimensione quando as células, aonde ele está localizado, forem redimensionadas. Se você ainda não sabe nada sobre macros, veja antes o nosso guia de VBA no Excel para iniciantes.
Youtube
Assista ao vídeo abaixo, caso prefira aprender como fazer para criar um botão no Excel e atribuir a uma macro assistindo a um vídeo.

Não se esqueça de se INSCREVER no nosso canal.
E coloque o seu melhor e-mail abaixo para receber todas as nossas novidades em primeira mão.
Guia Desenvolvedor
Para este artigo será necessário ter a guia Desenvolvedor habilitada.
Caso a guia Desenvolvedor não esteja habilitada no Excel, não se preocupe, criamos um tutorial bem detalhado explicando como fazer para habilitar a guia Desenvolvedor.
Para acessar ao tutorial, basta clicar AQUI.
Macro
Neste artigo não iremos criar nenhuma macro e iremos considerar que você já tenha uma macro criada para atribuir o botão a sua macro.
A macro que iremos utilizar é a macro do nosso tutorial “Aprenda a utilizar a função PROCV no VBA”. Se quiser saber mais detalhes do nosso tutorial sobre como utilizar a função PROCV no VBA, basta clicar AQUI.
A macro que iremos utilizar no tutorial é a “vbaProcvTodosValoresComErro”. Com isso, ao criar o botão no Excel, será essa macro atribuída ao botão.
Dessa forma, toda vez que o botão for clicado, será executado a macro atribuída a ele.
Exemplo 1: Utilizando botão do controle de formulário
Para criar um botão no Excel utilizando o botão do controle de formulário, vá na guia “Desenvolvedor”, depois clique em “Inserir”.
Na janela que irá abrir, clique no ícone do botão.

O cursor do seu mouse ficará igual a imagem abaixo.

Clique no local aonde o botão deverá ficar e arraste o seu mouse para definir o tamanho do botão.
Assim que soltar o botão do mouse, uma janela irá aparecer. É nesse janela que será atribuída a macro ao botão.

- Selecione a macro desejado. No nosso caso, a macro selecionada será a “vbaProcvTodosValoresComErro”.
- Clique em OK
A sua planilha deverá ficar dessa forma.

Ao clicar no botão, será ativada a macro “vbaProcvTodosValoresComErro” e sua planilha ficará da seguinte forma.

Renomear o botão
Para renomear o botão, basta clicar com o botão direito do mouse nele. Uma janela, logo abaixo irá aparecer. Clique em “Editar Texto” e renomeei o botão.

No nosso caso, renomearemos o botão para “PROCV VBA”.
Vamos limpar os dados da coluna C para testar novamente o botão.

Ao clicar novamente no botão, a coluna C irá ser preenchida.

Veja que a funcionalidade do botão continua a mesma, mesmo alterando o nome do botão.
Prevenir que o botão seja redimensionado
Para evitar que o botão seja redimensionado, quando as células, aonde ele está localizado, sejam redimensionado, clique com o botão direito do mouse no botão.
Na janela que irá aparecer, clique em “Formatar controle…”.

Na janela “Formatar controle”, vá em “Propriedades”.

Vamos agora explicar as 3 opções presentes no “Posicionamento do objeto”.
Mover e dimensionar com células
Em “Propriedades” o opção “Mover e dimensionar com células” irá vir selecionada por padrão.
Essa opção irá fazer com que nosso botão se mova caso a coluna D altere de largura e/ou a linha 1 altere a sua altura. E o botão irá também alterar o seu formato caso a coluna E altere a sua largura e/ou as linhas 2 e 3 alterem a suas alturas.

Mover mas não dimensionar com células
A opção “Mover mas não dimensionar com células” irá fazer com que nosso botão se mova caso a coluna D ou anterior altere de largura e/ou a linha 1 altere a sua altura.
Porém o seu formato não será alterado caso a coluna E altere a sua largura e/ou as linhas 2 e 3 alterem a suas alturas.

Não mover ou dimensionar com células
A opção “Não mover mas não dimensionar com células” não irá permitir que o botão se mova caso a coluna D ou anterior altere de largura e/ou a linha 1 altere a sua altura.
E nem o seu formato será alterado caso a coluna E altere a sua largura e/ou as linhas 2 e 3 alterem a suas alturas.

Será selecionado a opção “Mover mas não dimensionar com células” para que o botão não altere o seu formato, mas se mova caso alguma coluna anterior a ele(D ou anterior) precise altere a sua largura, dessa forma evitamos situações como a da imagem acima.
Aonde uma coluna anterior ao botão teve que ficar mais larga, porém o botão não se moveu. Com isso, o botão ficou localizado em cima dos dados, e essa é uma situação que queremos evitar.
Exemplo 2: Utilizando uma “Forma”
Para criar um botão no Excel utilizando uma “Forma”, vá na guia “Inserir”, depois em “Ilustrações”.
Na janela que abrir, vá em “Formas” e selecione a “Forma” desejada.
No nosso tutorial, iremos utilizar o retângulo de cantos arredondados.

O cursor do seu mouse ficará igual a imagem abaixo.

Clique no local aonde o retângulo deverá ficar e arraste o seu mouse para definir o tamanho dele.

Assim que o retângulo for criado, iremos primeiro inserir o texto para ficar mais fácil a sua identificação e em seguida atribuiremos a macro ao retângulo.
Para inserir um texto na “Forma”, clique com o botão direito do mouse e selecione “Editar Texto”.
Após inserir o texto a forma, clique novamente com o botão direito e dessa vez selecione “Atribuir macro…”

Na janela “Atribuir macro”, selecione a macro que você deseja atribuir ao retângulo.

- No nosso caso, a macro selecionada será a “vbaProcvTodosValoresComErro”.
- Clique em OK
Pronto, a nossa “Forma” agora tem a mesma funcionalidade de um botão.

Note, que ao clicar no “Forma”, ela se comporta como um botão e executa a nossa macro.

Congelar o “botão” para que não seja modificado com as alterações da célula
Para evitar que o “botão” seja redimensionado, quando as células, aonde ele está localizado, sejam redimensionado, clique com o botão direito do mouse em cima dele.
Na janela que irá aparecer, clique em “Formatar Forma…”.

Uma janela irá aparecer no lado direito do Excel. Clique no ícone, mais a direita.
Em “Propriedades” irá aparecer as mesmas 3 opções, que apareceram no exemplo anterior.

Essas 3 opções fazem com que o “botão” se comporte da mesma maneira que foi apresentado no exemplo anterior.
Sendo assim, será selecionado a opção “Mover mas não dimensionar com células” pelos mesmos motivos apresentados no exemplo anterior.
Compartilhe ou Comente
Chegamos ao final do tutorial.
Perguntas frequentes
Qual a diferença entre criar o botão com Controle de Formulário e com uma Forma?
O botão de Controle de Formulário já nasce com aparência de botão e é pensado para executar macros. A Forma é um objeto de desenho (retângulo, círculo etc.) ao qual você atribui uma macro manualmente, dando mais liberdade visual, mas exigindo um passo a mais para virar um “botão”.
Por que o meu botão muda de tamanho ou se desloca quando eu redimensiono as colunas?
Por padrão, o Excel usa a opção “Mover e dimensionar com células”, que faz o botão acompanhar mudanças de largura e altura das células abaixo dele. Para evitar isso, clique com o botão direito no botão, vá em Formatar Controle (ou Formatar Forma) e escolha “Mover mas não dimensionar com células”.
Preciso saber VBA para criar um botão no Excel?
Não para criar o botão em si — criar o botão e atribuir uma macro existente é só clicar em alguns menus. Mas você precisa ter (ou já ter criado) a macro que o botão vai executar; se ainda não conhece VBA, veja o nosso guia de VBA no Excel para iniciantes.
Se você curtiu este tutorial compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo e se inscrever para receber todas as nossas novidades.
E se inscreva no nosso canal do Youtube.