Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Excel - Aula4, Notas de aula de Matemática Computacional

Tópicos em Excel - Aula 4/4. Conteúdo: Criação de macros, introdução à linguagem VBA.

Tipologia: Notas de aula

2011

Compartilhado em 20/12/2011

vinicius-10
vinicius-10 🇧🇷

4.7

(3)

11 documentos

1 / 19

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Tópicos em Microsoft Excel 2007
4 – Criação de macros e introdução à linguagem VBA
Vinicius A. de Souza
São José dos Campos, 2011. 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Pré-visualização parcial do texto

Baixe Excel - Aula4 e outras Notas de aula em PDF para Matemática Computacional, somente na Docsity!

4 – Criação de macros e introdução à linguagem VBA

Vinicius A. de Souza [email protected]

Sumário

  • Introdução à criação de macros............................................................................................................
    • Gravação automática de macros......................................................................................................
    • Referências absoluta e relativa........................................................................................................
  • Associando macros a elementos gráficos.............................................................................................
    • Personalizar barra de ferramentas de acesso rápido (Excel 2007)...................................................
    • Criando menus personalizados (Excel 2003)...................................................................................
    • Associando macros a um botão de comando.................................................................................
  • Introdução à linguagem VBA.............................................................................................................
    • Sub-rotinas e funções.....................................................................................................................
  • Fundamentos da Linguagem
    • Variáveis e atribuição de valores...................................................................................................
    • Tipos de variáveis
    • Declaração de variáveis.................................................................................................................
    • Operadores.....................................................................................................................................
      • Operadores aritméticos..............................................................................................................
      • Operadores relacionais..............................................................................................................
    • Rotinas de exemplo........................................................................................................................
    • Estruturas de controle....................................................................................................................
      • If Then Else...............................................................................................................................
      • For – Next.................................................................................................................................
      • While-Wend..............................................................................................................................

Neste painel poderemos realizar as seguintes formatações:

  1. Nome da Macro: será constituído por um conjunto de caracteres que identificarão a Macro. È interessante que este nome reflita a sua funcionalidade.
  2. Tecla de atalho: é composto por uma combinação de teclas que poderão ser utilizadas para executar uma macro.
  3. Armazenamnto: Esta pasta de trabalho, Nova pasta de trabalho ou Pasta pessoal de macros, sendo que cada uma corresponde a macros de âmbitos diferentes. Assim, para que a macro fique ativa sempre que o documento estiver aberto, devemos armazenar na opção “Esta pasta de trabalho”.
  4. No campo Descrição, introduza um comentário à macro – este comentário poderá ser importante para que não seja esquecido o seu respectivo objetivo e funcionalidade. Configurando as opções, clicando em OK, iniciaremos a gravação da macro. É importante verificar que na barra de status aparecerá um novo botão, que servirá para pausar a gravação: Ao acionarmos a gravação da macro, todas as operações que realizarmos serão automaticamente gravadas pelo Excel. Para executar a macro, basta utilizar a tecla de atalho configurada (CTRL + alguma coisa) ou executá-la pelo painel de macros, acessível em Exibição – Macros – Exibir Macros:

Referências absoluta e relativa

Antes de começarmos a criar nossas macros, é importante mencionar o conceito de referências. Antes de iniciar a gravação de uma macro, podemos configurar a referência. Por padrão, o Excel utiliza referência absoluta. As referências absolutas realizam a gravação de operações com base no endereço selecionado, enquanto que a referência relativa apenas executa a operação, independente do local onde ela foi gravada. Para acionar a referência relativa, basta clicar no botão:

Para criar o botão, em “Selecionar mais usados”, selecione a opção “Macros”. Selecione a macro desejada e clique em “Adicionar”:

Você poderá ainda modificar o desenho e o texto do botão. Basta clicar sobre a macro inserida no painel direito e clicar em Modificar: Para remover este botão criado da barra de ferramentas, você deverá acessar o mesmo painel, selecionar a macro a ser excluída e clicar em “Remover”:

A figura abaixo mostra, em destaque, um menu criado: Posteriormente, poderemos atribuir novos menus aos menus criados (sub-menus), novos botões e comandos, inclusive botões associados a macros. Para remover estes itens, basta acessar o painel de Personalização novamente (Exibir – Barra de ferramentas – Personalizar), clicar sobre o item e arrastá-lo para o painel. Para excluir uma macro, basta acessar o painel de macros (ALT + F8), selecionar a macro desejada e clicar no botão Excluir.

Associando macros a um botão de comando

É possível ainda associar uma macro a um botão de controle, parecido com este:

Para isto, você precisa primeiro habilitar a aba desenvolvedor. Clique no botão Office, escolha “Opções do Excel”. Na categoria “Mais usados”, selecione a opção “Mostrar guia Desenvolvedor na faixa de opções”. Feito isto, vá para a aba Desenvolvedor. Clique em inserir – Controles de formulário – Botão. Então, clique e arraste o ponteiro do mouse, como se estivesse desenhando o botão. Automaticamente o Excel solicitará que você selecione a macro a ser executada quando clicarem neste botão. É possível configurar algumas opções de botão, basta clicar com o botão direito do mouse sobre ele:

As Sub-rotinas são aquelas cuja definição é delimitada pelas palavras-chave Sub e End Sub. Assim, se reparar todas as macros que grava no Excel são deste tipo. Repare ainda como é que são definidas: Sub <nome_da_macro> ( ) <corpo_da_macro> End Sub Estas Sub-rotinas são designadas pelo nome que lhe atribuímos e não recebem parâmetros do exterior, têm como função desempenhar um conjunto de tarefas que compõem o seu corpo. O corpo da macro, é assim composto por um conjunto de instruções, sendo que cada instrução diferente necessita de estar numa linha diferente. Funções são rotinas cuja definição começa com a palavra-chave Function e termina com as palavras End Function. Todas as funções que utiliza no Excel são deste tipo de rotina. A sua definição tem a estrutura seguinte: Function <Nome da Função> ( , ,...) ... <Nome da Função> = <Valor / Expressão> ... End Function A função é identificada pelo nome, pelo número e tipo de parâmetros recebidos, e tem como objectivo executar um conjunto de instruções e produzir um valor final. Isto é, sempre que se pretender executar uma função é sabido à priori que ela produzirá um valor. Recorde-se como exemplo a função SOMA, esta recebe por parâmetro um conjunto de valores que se pretendem somar, sabe-se que o resultado da aplicação dessa função ao conjunto de valores será o respectivo somatório. Para definir o valor produzido por uma função basta no seu interior, atribuir ao nome da função um determinado valor ou expressão.

Fundamentos da Linguagem

Variáveis e atribuição de valores

Variáveis são repositórios de dados na memória, que podem ser acessados através de um apelido. Quando se pretende atribuir valores a variáveis devemos indicar o nome da variável (que é uma espécie de apelido, ou referência à sua posição na memória), o operador "=" e o valor que se pretende que a variável armazene. Sintaxe: <Nome_Variável> =

Como o nome da variável representa, de certa forma, o conteúdo da mesma, sempre que mencionarmos o nome da variável é o seu conteúdo que será considerado. Por exemplo, na expressão: Total = Parcela_1 + Parcela_ Parcela_1 representa o primeiro valor introduzido e Parcela_2 representa o segundo valor, não se trata de adicionar o nome de duas variáveis, mas adicionar os conteúdos que elas armazenam.

Tipos de variáveis

O tipo de variável está associado ao gênero de dado que esta tem, por hipótese, de armazenar. Temos os seguintes tipos de variáveis: Nome Tamanho Intervalo Integer 2 bytes -32768 a 32767 Long 4 bytes -2.147.483.648 a 2.147.483. Single 4 bytes -3,4 x 10^38 a 3,4 x 10^38 Double 8 bytes 1,7 x 10^308 a 1,7 x 10^308 Currency 8 bytes -9223372036854,5808 a 9223372036854, String 1 byte por caractere 0 a aproximadamente 65. Boolean 2 bytes Verdadeiro ou Falso Date 8 bytes 01/01/100 a 31/12/ Object 4 bytes Qualquer referência a objeto Variant 16 bytes + 1 byte para cada caractere Válido para qualquer tipo de dados.

Declaração de variáveis

A declaração de variáveis em VBA tem a seguinte forma: Dim nome_variavel As tipo Onde:

  • Dim: Palavra chave que indica uma declaração de variáveis (abreviatura de dimensão)
  • Nome_variavel: nome da variável a utilizar para referenciar a posição na memória ocupada
  • As: palavra chave utilizada para separar o nome da variável do tipo de dados
  • Tipo: tipo de dados atribuído à variável

Para usar esta função, basta selecionar uma célula da planilha ativa e digitar = celsius(45), por exemplo.

  • Criar uma rotina que receba do usuario determinado valor, calcule uma taxa de desconto de 5% e exiba o resultado: Sub Calcula_Desconto() Const Taxa_Desc As Single = 0. Dim Desconto As Double Desconto = InputBox (“Introduza valor das Compras”)* Taxa_Desc MsgBox “O desconto é de : ” & Desconto End Sub As subrotinas podem ser usadas através das mesmas formas vistas para executar macros criadas com o gravador automático.

Estruturas de controle

Estruturas de controle são mecanismos de programação que permitem controlar o fluxo de processamento de uma rotina. Resumidamente, o VBA possui as seguintes estruturas:

Estrutura Descrição

If -Then - Else Testa uma condição e executa um determinado conjunto de instruções consoante o resultado dessa avaliação For – Next Executa uma determinada tarefa um determinado número de vezes. While-Wend Executa uma determinada tarefa enquanto que uma determinada condição permaneça verdadeira, com o valor True. Do – Loop Executa uma determinada tarefa enquanto que a avaliação de uma condição permaneça True ou então até que seja True. Select - Case Seleciona um dos segmentos de código a processar mediante a avaliação consecutiva de condições. For – Each – Next Realiza uma determinada tarefa repetitiva em cada objeto de uma coleção ou em cada item de um vetor.

If Then Else

Podemos imaginar o IF como a função SE do Excel: =IF( <condição>, <se condição verdadeira>, <se condição falsa> ) A função SE tinha o seguinte comportamento:

  1. Avalia a condição, que deverá ser uma expressão booleana colocada como primeiro parâmetro;
  2. Se a condição for verdadeira, então (then) realiza as operações colocadas no segundo parâmetro;
  3. Caso contrário (else) realiza as operações que formam o terceiro parâmetro A estrutura If do VBA tem o mesmo tipo de funcionamento, o que difere é a sintaxe.: If <Condição> Then <se condição verdadeira> [ Else <se condição falsa> ] End If A palavra Else é opcional numa avaliação If-Then-Else, sendo que no caso de ser omitida, a avaliação negativa da condição implica uma saída automática da Instrução If. Elseif Em certos casos, poderá haver mais de um critério a ser avaliado. Desta forma, teremos que acrescentar um novo controle If interno, criando algo que chamamos de Ifs aninhados. Por exemplo, considere a seguinte classificação hipotética:

Grau Risco

Menos que 3 Nenhum Entre 3 e 5 Baixo Entre 6 e 8 Médio Maior que 8 Alto Um possível código para implementar esta classificação seria:

base = InputBox("Digite a base da potencia: ") potencia = InputBox("Digite a potencia: ") resultado = 1 For contador = 1 To potencia Step 1 resultado = resultado * base Next MsgBox “resultado: ” & resultado End Sub

While-Wend

A estrutura While-Wend tem um funcionamento similar ao For-Next. Realiza um looping um determinado número de vezes, até que uma determinada condição seja falsa. Porém, um grande diferencial do laço While é que, dependendo da nossa implementação, ele pode ficar executando determinadas instruções um número não determinado de vezes. Sintaxe While <Condição> <Instruções a realizar em cada iteração> Wend Exemplo de aplicação Vamos fazer um simples contador para ir de 1 até 10: Sub testa_while() Dim contador As Integer contador = 1 While contador < 10 MsgBox "Valor contador: " & contador contador = contador + 1 Wend End Sub