Pode utilizar um botão de controlo Formulário ou um botão de comando (um controlo ActiveX) para executar uma macro que executa uma ação quando um utilizador clica na mesma. Ambos os botões também são conhecidos como um botão push, que pode ser configurado para automatizar a impressão de uma folha de cálculo, filtrar dados ou calcular números. Em geral, um botão de controlo Formulário e um botão de comando de controlo ActiveX são semelhantes no aspeto e na função. No entanto, têm algumas diferenças, que são explicadas nas secções seguintes.
Dica
As informações neste artigo destinam-se a utilizadores avançados do Excel. Para obter mais informações sobre macros, aceda a Adicionar ou editar uma macro para um controlo numa folha de cálculo.
Botão (controlo formulário)
|
Botão de comando (controlo ActiveX)
|
|---|
Nas secções abaixo, saiba como adicionar uma macro a um botão no Excel para Windows ou Mac.
Observação
Os controlos ActiveX não são suportados no Mac.
As macros e as ferramentas VBA podem ser encontradas no separador Programador , que está oculto por predefinição.
O primeiro passo é ativá-lo. Para obter mais informações, consulte o artigo: Mostrar o separador Programador.
Adicionar um botão (controlo Formulário)
- No separador Programador , no grupo Controlos , clique em Inserir e, em seguida, em Controlos de Formulário , clique em
. - Clique na localização da folha de cálculo onde pretende que o canto superior esquerdo do botão seja apresentado. É apresentada a janela de pop-up Atribuir Macro .
- Atribua uma macro ao botão e, em seguida, clique em OK.
- Para especificar as propriedades de controlo do botão, clique com o botão direito do rato no botão e, em seguida, clique em Formatar Controlo.
Adicionar um botão de comando (controlo ActiveX)
No separador Programador, no grupo Controlos, clique em Inserir e, em seguida, em Controlos ActiveX, clique em
de Comando .Clique na localização da folha de cálculo na qual pretende que o canto superior esquerdo do botão de comando seja apresentado.
No grupo Controlos , clique em Ver Código. Esta ação inicia o Visual Basic Editor. Certifique-se de que Clique está selecionado na lista pendente à direita. O sub procedimento CommandButton1_Click (ver a figura abaixo) executa estas duas macros quando o botão é clicado: SelectC15 e HelloMessage.
No subprocedure do botão de comando, efetue um dos seguintes procedimentos:
- Introduza o nome de uma macro existente no livro. Pode encontrar macros ao clicar em Macros no grupo Código . Pode executar múltiplas macros a partir de um botão ao introduzir os nomes das macros em linhas separadas dentro do subprocedure.
- Conforme necessário, adicione o seu próprio código VBA.
Feche o Visual Basic Editor e clique na
Modo de Estrutura para garantir que o modo de estrutura está desativado.Para executar o código VBA que agora faz parte do botão, clique no botão de comando ActiveX que acabou de criar.
Para editar o controle ActiveX, verifique se você está no modo de design. Na guia Desenvolvedor, no grupo Controles, ative Modo de Design.
Para especificar as propriedades de controlo do botão de comando, no separador Programador, no grupo Controlos, clique na
Propriedades . Também pode clicar com o botão direito do rato no botão de comando e, em seguida, clicar em Propriedades.Observação
Antes de clicar em Propriedades, verifique se o objeto que você deseja analisar ou cujas propriedades deseja alterar já está selecionado.
É apresentada a caixa Propriedades . Para obter informações detalhadas sobre cada propriedade, selecione a propriedade e pressione F1 para exibir um tópico da Ajuda do Visual Basic. Também é possível digitar o nome da propriedade na caixa Pesquisar da Ajuda do Visual Basic. A tabela seguinte resume as propriedades que estão disponíveis.
| Para especificar | Use esta propriedade |
|---|---|
| Geral: | |
| Se o controle será ou não carregado quando a pasta de trabalho for aberta. Ignorada para controles ActiveX. | AutoLoad (Excel) |
| Se o controlo pode receber o foco e responder a eventos gerados pelo utilizador. | Enabled (Formulário) |
| Se o controle pode ou não ser editado. | Locked (Formulário) |
| O nome do controle. | Name (Formulário) |
| A forma como o controle é anexado às células abaixo dele (flutuação livre, movimentação sem dimensionamento ou movimentação com dimensionamento). | Placement (Excel) |
| Se o controle pode ou não ser impresso. | PrintObject (Excel) |
| Se o controle está visível ou oculto. | Visible (Formulário) |
| Texto: | |
| Atributos de fontes (negrito, itálico, tamanho, tachado, sublinhado e espessura). | Bold, Italic, Size, StrikeThrough, Underline, Weight (Formulário) |
| Texto descritivo no controle que o identifica ou descreve. | Caption (Formulário) |
| Se ocorre ou não a quebra automática do conteúdo do controle ao final de uma linha. | WordWrap (Formulário) |
| Tamanho e Posição: | |
| Se o tamanho do controle é automaticamente ajustado para exibir todo o conteúdo. | AutoSize (Formulário) |
| A altura ou a largura em pontos. | Height, Width (Formulário) |
| A distância entre o controle e a margem esquerda ou superior da planilha. | Left, Top (Formulário) |
| Formatação: | |
| A cor de fundo. | BackColor (Formulário) |
| O estilo de fundo (transparente ou opaco). | BackStyle (Formulário) |
| A cor de primeiro plano. | ForeColor (Formulário) |
| Se o controle tem ou não uma sombra. | Shadow (Excel) |
| Imagem: | |
| O bitmap a ser exibido no controle. | Picture (Formulário) |
| O local da imagem em relação à sua legenda (esquerda, acima, direita e assim por diante). | PicturePosition (Formulário) |
| Teclado e Rato: | |
| A tecla de atalho para o controle. | Accelerator (Formulário) |
| Um ícone de mouse personalizado. | MouseIcon (Formulário) |
| O tipo de ponteiro que é apresentado quando o utilizador posiciona o rato sobre um objeto específico (padrão, seta, feixe I, etc.). | MousePointer (Formulário) |
| Se o controlo assume o foco quando clicado. | TakeFocusOnClick (Formulário) |
Precisa de mais ajuda?
Pode sempre perguntar a um especialista na Comunidade Tecnológica do Excel ou obter suporte nas Comunidades.