Aprende a utilizar botões de opção no Microsoft Excel!
Neste novo artigo, vou mostrar-te como podes utilizar botões de opção no Microsoft Excel! Vamos lá?
Os botões de opção são comandos que, habitualmente, são usados em formulários, mas que podem ser aplicados na folha de cálculo. São muito fáceis de configurar e, com a ajuda de funções, permitem aplicar interatividade nos mapas do Excel, de uma forma muito simples.
Contudo, os comandos de formulário, neste caso, os botões de opção, também apresentam algumas limitações. Principalmente na parte estética / visual. Se pretenderes que o teu relatório tenha um aspeto mais interessante, deverás pensar em outras soluções!
No exemplo, vamos utilizar os botões de opção para mostrar um intervalo de dados, de acordo com a opção selecionada. Significa isto que, vamos utilizar a função SELECIONAR [CHOOSE] para permiter retornar um valor, de acordo com um número [núm_índice]. E, este número, é retornado pelo botão de opção.
É isso que te vou mostrar neste artigo. Como podes utilizar botões, construídos por ti, que realizam a mesma operação. Não percas aqui todo o processo passo-a-passo detalhado, faz o download do ficheiro base (que já contém as folhas utilizadas no artigo e cada folha tem os dados necessários) e, se tiveres alguma dúvida, envia-nos a uma mensagem... ficamos à tua espera!
Faça aqui o download dos seus ficheiros de apoio!
O ficheiro base já contém as folhas utilizadas no artigo e cada folha tem os dados necessários:
- Dados resumidos necessários para o gráfico
- Gráfico combinado com uma das series em colunas e a segunda série em linhas com marcadores.
Exemplo de uma das páginas:
Começar por definir os botões de opção
Os botões de opção estão disponíveis no separador PROGRAMADOR [DEVELOPER]. Caso não tenhas o separador, podes adicioná-lo nas opções do Excel, através da personalização do Friso.
Menu Ficheiro [File] > Opções [Options] > Personalizar Friso [Customize Ribbon]
Assim que tenhas o menu Programador, podes começar a inserir o botão de opção, vamos inserir 3 botões de opção, um para cada coluna da tabela que pretendemos mostrar no gráfico:
- Proveitos PY
- Diferença Homólogo
- Acumulados
Estas 3 colunas, vão ser comparadas, uma a uma à coluna base: Proveitos
No primeiro botão de opção vamos editar o texto e aceder às opções de formatação do controlo.
Nestas opções definimos apenas uma opção: Ligação à célula. Esta opção permite associar a uma célula o valor da opção escolhida. Este valor é um número, que vai ser utilizado pela função SELECIONAR [CHOOSE] para retornar o intervalo pretendido.
Repetimos o mesmo processo para mais 3 botões de opção…
Formatar os controlos
Os controlos de formulário, podem ser formatados com algumas propriedades, nomeadamente o preenchimento e linhas, mas são opções limitadas.
Atribuir a interatividade no relatório
A parte interativa do relatório é criada através de uma conjugação entre os controlos de formulário, que geram o número em função da opção selecionada (célula A1), e uma função que possa ler o número. Neste caso temos várias funções que podem ser utilizadas, como a função ÍNDICE [INDEX], SE [IF], entre outras, mas vou optar pela função SELECIONAR [CHOOSE].
SELECIONAR(núm_índice, valor1, [valor2], ...)
- Núm_índice: Argumento Obrigatório. Este valor é um número entre 1 e 254 ou uma fórmula ou referência a uma célula que contenha um número entre 1 e 254. Neste caso utilizamos a referência da célula A1 (ligada ao controlo de formulário).
- Valor1; valor2: O Valor 1 é obrigatório, os valores posteriores são opcionais. Estes são os resultados partir dos quais a função SELECIONAR seleciona um valor ou uma ação que será executada com base no núm_índice. Os argumentos podem ser números, referências de células, nomes definidos, fórmulas, funções ou texto. No caso vamos utilizar referencias de nomes, uma para cada intervalo que pretendemos utilizar na função.
Criamos um nome para cada intervalo:
- Proveitos PY: ProveitosPY
- Dif. Homólogo: Diferença
- Acumulados: Acumulados
Na função deverás colocar os valores pela ordem correta para apresentar os intervalos de resultado.
Neste momento deverás ter o relatório já interativo, com a coluna a mudar, e o gráfico também, comparando sempre os proveitos com outro período em análise.
Alternativa: Interatividade com botões
No segundo cenário, vamos utilizar botões para definir a interatividade! Os botões podem ser formatados com mais opções, e podes inclusive utilizar imagens ou infográficos para o efeito. Neste caso vamos atribuir a cada botão uma rotina simples em VBA que vai simular a mesma lógica do botão de controlo, ou seja, atribuir um valor a uma célula.
Na segunda folha utilizamos a função SELECIONAR à mesma, com a mesma lógica, contudo vamos mudar o valor da célula A1 através de código VBA.
Inserir os botões
Começamos por inserir os botões a gosto e com a formatação que acharmos mais interessante.
No menu PROGRAMADOR [DEVELOPER] acedemos ao Visual Basic Editor, e num novo módulo, criamos 3 rotinas, uma para cada botão:
Inserimos o seguinte Código no módulo que para cada rotina apenas associa o valor ao intervalo da célula.
Sub BotaoHomologo() Range("A1").Value = 1 End Sub Sub BotaoDiferenca() Range("A1").Value = 2 End Sub Sub BotaoAcumulados() Range("A1").Value = 3 End Sub
Para cada botão associamos a “Macro” correta.
E a partir deste momento o segundo relatório também está interativo tal como o primeiro, mas com botões mais apelativos!
Aproveitar o potencial do código VBA
Já que estamos a usar VBA porque não aproveitar o potencial do código e manipular os objetos da folha de cálculo! Aliás é para isso que usamos VBA!
Para terminar o exemplo vamos então alterar a segunda série do gráfico, uma vez que é um gráfico de combinação (Combo chart) podemos através do código mudar a serie representada, neste caso a segunda que representa a linha.
Acrescentamos ao código já criado o restante código para mudar as opções gráfico.
Sub BotaoHomologo() Range("A1").Value = 1 ' Ativar o gráfico ActiveSheet.ChartObjects(1).Activate ' Alterar a série do gráfico With ActiveChart.SeriesCollection(2) .ChartType = xlLineMarkers ' Gráfico de linhas com marcador .Format.Line.Visible = msoFalse ' Ocultar a linha do gráfico End With 'Alterar o Título do gráfico ActiveChart.ChartTitle.Text = "Proveitos vs Homólogos" 'Selecionar a célula A1 Range("A1").Select End Sub Sub BotaoDiferenca() Range("A1").Value = 2 ActiveSheet.ChartObjects(1).Activate With ActiveChart .SeriesCollection(2).ChartType = xlColumnStacked ' Gráfico de colunas empilhadas .ChartTitle.Text = "Diferença de proveitos / homólogos" ' Alterar o título do gráfico End With Range("A1").Select End Sub Sub BotaoAcumulados() Range("A1").Value = 3 ActiveSheet.ChartObjects(1).Activate With ActiveChart .SeriesCollection(2).ChartType = xlArea ' Gráfico de área .ChartTitle.Text = "Proveitos e Acumulados" ' Alterar o título do gráfico End With Range("A1").Select End Sub
E o relatório fica mais dinâmico, agora com o gráfico e o título também dinâmicos em função da opção selecionada.
Gráfico para os Proveitos PY:
Gráfico para a Diferença Homólogos:
Gráfico para Acumulados:
Outros conteúdos relevantes:
Microsoft Excel â Aprenda a analisar vários resultados com a Gestão de Cenários
Neste tutorial, utilizamos a ferramenta de gestão de cenários, do Microsoft Excel, para ajudar na análise de vários cenários e na tomada de decisão.
Aprende a usar a função INDIRETO no Excel!
Vê aqui como usar a função INDIRETO no Microsoft Excel e aprende a criar intervalos dinâmicos nos teus Dashboards.