Excel Avançado: Macros
Macros e VBA - Definições• Problemas convencionais x Programação;– Linguagem do Office VBA (Visual Basic for
Applications);
• Macros: são sequências de comandos e funções armazenados em um módulo de código VBA e pode ser executada sempre que se precisar executar a tarefa, ou seja, você automatiza uma tarefa.
• Criação de macros:– Via gravador de macros do Excel: grava-se todas
as ações que farão parte da macro e transforma-se todas essas ações em códigos VBA;
– Via criação de código VBA: requer o domínio da linguagem, onde todas as ações serão escritas diretamente no Visual Basic Editor do Office
Macros e VBA - Definições
Macros e VBA – Menu Desenvolvimento
Macros e VBA – Menu Desenvolvimento
Visual Basic: abre o Microsoft Visual Basic, local onde todos os códigos da
macro estão contidos;
Macros: Exibe a lista de macros existentes, onde você pode adicionar,
editar ou excluir uma macro;
Gravar Macro: Botão utilizado para a gravação da macro;
Segurança de Macro: Personaliza as opções de segurança de uma macro.
Macros e VBA – Menu Desenvolvimento
Inserir: Insere controles no documento, como botões, caixas de seleção,
barras de rolagem, entre outros;
Propriedades: Exibe as propriedades dos controles;Exibir Código: Exibe o código do Visual Basic para o Controle;
Microsoft VBA
Janela “Projeto”: Elementos que fazem partedo projeto atual: as três planilhas usuais mais
o módulo gerado
Editor do VBA: Código VBA vinculadoa macro. Cada linha executa uma operação
específica
Macros - Gravação
Armazenar macro em:Pasta de trabalho pessoal de macros: se quiser que uma macro fique disponível sempre que você usar o Excel. Ele cria uma pasta de trabalho pessoal de macros oculta.Nova pasta de trabalho: salva a macro para que possa ser utilizada numa nova pasta de trabalho.Esta pasta de trabalho: salva a macro para ser utilizada na pasta atual de trabalho.
• Para a análise do código VBA, gravar uma macro da seguinte forma: em qualquer célula do Excel, escrever algo e mudar a cor da fonte e do fundo da célula. Depois, copiar o conteúdo e colar em outra célula. Feito isso, parar a gravação e analisar o código gerado.
Exemplo 1 – Seleção e Cópia
Exemplo 1 – Seleção e CópiaIdentificação da macro criada
Conteúdo da célula ativa, bem como localização da mesma no documento.
Formatação da fonte: Cor, intensidade e negrito
Formatação do fundo da célula
Local da célula copiada, comando de cópia, seleção da célula destino
e comando de colar.
Macros – Edição: Nome
Macros – Edição: Opções
Salvando Macros
Abrindo arquivos com Macro
Macros – Botões (Controles)Controles de Formulário: Permite ao usuário atribuir uma
macro já elaborada para o controle escolhido;Controles ActiveX: O usuário deverá fornecer todo o código
VBA para a ação a ser executada pelo controlador.
O usuário poderá criar a macroou cancelar a ação e atribuir uma
macro já existente posteriormente.Como? Botão direito do mouse sobre o
controlador Atribuir Macro
• Grave uma macro chamada “ModeloTabela”.
Exemplo 2 – Cores e controles
A tabela deverá conter 5 colunas e 20 linhas. Fundo: CORES PADRÃO – Verde-claro,fonte da cor preta. Cabeçalhos: CORES PADRÃO – Verde,fonte da cor branca em negrito.
Contorno simples em todas as bordas.Borda espessa abaixo da primeira e da última linha. Depois, pare a gravação da macro.
Agora, grave outra macro para limpar a tabelaexistente e deixar a área de trabalho do Excel como
antes. Salve-a com o nome “LimpaTabela”.
Após isso, vamos aplicar as macros a botões.Escolha uma nova planilha, e adicione o controlador“botão” e adicione a ele a macro “ModeloTabela”.
Escolha um nome adequado para o botão.Em seguida, faça o mesmo e grave um botão
com a macro de limpar a tabela.
Exemplo 3 – Integração
Integração numérica é uma alternativa utilizada para a resolução de integrais definidas onde a função não é disponível para análise direta de tabelas ou não possui uma
solução analítica que seja obtida pelos métodos de integração convencionais
• Criar uma macro para fazer integrais numéricas onde o usuário cria a fórmula em uma célula e fornece os limites inferior e superior de integração em outras células. Subdividir o intervalo de integração em 100 e formatar as células antes de gravar a macro para não perder tempo.
Exemplo 3 – Integração
• Criar uma tabela semelhante a essaLimite
Inferior
Limite superior
Função
ÁreaIntervalos
variação dos limites/intervalo
=A2=C2+$A$4
=C2^2 =D2*$A$4
Coloque os valores dos limites da função f(x)=x²;Arraste as colunas até obter 100 linhas
• A tabela formadadeve ser algo parecidocom essa
• É preciso fazer a soma das linhas usadas na coluna E, essa soma de áreas corresponde à Integral da função.
• Para isso, selecione a célula desejada, digite = SOMA(), selecionando todos os valores da coluna E.
• Agora gravaremos a Macro que resolverá essa integral sem “poluir” a tela.
• Selecione a célula A4, correspondente a dx, e digite a fórmula : =(B2-A2)/100
• Selecione a célula C2, correspondente a x, e digite a fórmula : = A2
• Selecione a célula E2, correspondente ao campo da área, e digite a fórmula =D2*$A$4
• Selecione a célula C3 e digite a fórmula = C2+$A$4
• Arrastar as colunas C, D e E até atingir 100linhas. Insira a função soma para a coluna E.
• Copie a célula com a fórmula da soma, selecione uma outra célula, G2, e cole especial (valores).
• Selecione a célula G1 e digite Integral.• Selecione todas as outras células que têm
texto e reescreva, dessa forma a macro montará essa mesma sequência de campos para qualquer outra planilha, quando executada.
• Apague todos os valores da tabela, com exceção dos campos (xi, xf ....Integral);
• Encerre a gravação.
• O resultado esperado é esse:
• Para testar o funcionamento, preencha os campos e execute a Macro.
• Atribua a macro a um botão, selecione a macro desejada e depois nomeie o botão.
• Agora para resolver a integral, basta preencher os campos, atentando sempre para a escrita da função e apertar o botão “integral”.
Entalpia
• Grandeza física que mede a energia de um sistema termodinâmico
• A entalpia de um sistema aumenta com o aumento da temperatura
• A capacidade calorífica a pressão (p) constante é o coeficiente angular da curva da entalpia (H) em função da temperatura.
)³()²()( TdTcTbaCp
CpdTH
• Calcule a variação de entalpia do ar, considerando a temperatura inicial de 25ºC e a final de 100ºC.
• Utilize a macro criada anteriormente.
a b C d
28,94 0,4147. 10-2 0,3191.10-5 -1,965.10-9
)³()²()( TdTcTbaCp
CpdTH
• Crie células para colocar as constantes, isso facilitará a digitação da fórmula
)³()²()( TdTcTbaCp
• Abra o código fonte, no final das linhas digite :
O que são Funções?
• Uma Função é um grupo de comandos que podem ser executados, simplesmente através da chamada do nome da Função;
• A função sempre retorna um ou mais valores para o comando que a chamou, isso a difere da sub-rotina;
• Você não precisa executar, basta chamá-la em uma célula e preencher os campos.
Sintaxe para declaração da Função
Function Nome_da_Função (argumento argumento2, argumento n)
Comando 1Comando 2...Comando nEnd Function
Criar funções
• Há inúmeras funções na biblioteca do Excel
Inserindo uma função
• Criaremos uma função para calcular o número de Reynolds e o fator de atrito;
• Selecione o guia Desenvolvedor;• Clique no ícone Visual Basic
• Clique duas vezes na Planilha 1
• Insira um procedimento
NomearFunçãoPúblico
• Digitar:
• Digite os campos como abaixo, no campo de Reynolds entre com a função
• Grave uma macro para a criação de uma janela como essa:
• No campo Reynolds,
• Clicando em cada variável, procure os campos correspondentes.
• Basta preencher os valores nos campos desejados e o resultado aparecerá instantaneamente no Campo em que a função foi inserida. Qual a diferença para macro?
Exemplo: fator de atrito
• Criar uma função para o cálculo do Fator de Atrito:
Esta função é para quando o Reynolds é maior que 2000.
• Criaremos um teste para verificar se o Regime é Laminar ou Turbulento, dependendo da resposta o programa agirá de modo diferente.
• Mas para isso, é necessário criar um teste lógico, usando If – then – else e uma macro que seja capaz de executá-lo.
• Executem a macro que cria aquela janela anterior.
• Acessem o VBA e entrem com esse código, criando uma macro que fará o teste
• Colocando Caixas de mensagens:
• Regime Laminar :
• Regime Turbulento:
P.E.T – ENGENHARIA DE ALIMENTOS
Top Related