Escolar Documentos
Profissional Documentos
Cultura Documentos
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
1
EXCEL COM VBA – Autoria (Família Carielo)
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
2
EXCEL COM VBA – Autoria (Família Carielo)
Apresentação – VBA-Office
Todo o pacote Microsoft office foi escrito em C++, mas também existe uma linguagem de programação
criada pela Microsoft, a linguagem Visual Basic for Applications(VBA), que podemos usar para programar
dentro dos aplicativos do Office.
No excel ja temos varias funções, mas se tivéssemos em uma situação onde nenhuma das funções fosse
capaz de satisfazer nossa condição?
Para isso usamos o VBA pois nele podemos também fazer nossas próprias funções e procedimentos.
----
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
3
EXCEL COM VBA – Autoria (Família Carielo)
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
4
EXCEL COM VBA – Autoria (Família Carielo)
SINOPSE DA AULA
Nesta 8ºaula do Curso de Excel Avançado, você aprenderá a criar formulários, utilizar o controle giratório
e a criar funções no Visual Basic.
CRIANDO FORMULÁRIOS
Nas versões 2007/2010 do Excel não se trabalham mais com barras de ferramentas. Então para se criar
formulários.
Clique aqui
Clique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
5
EXCEL COM VBA – Autoria (Família Carielo)
3ºPasso: Clique na opção “Mostrar guia Desenvolvedor na Faixa de Opções”, depois clique em Ok.
1ºClique aqui
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
6
EXCEL COM VBA – Autoria (Família Carielo)
1ºClique aqui
2ºClique aqui
1ºClique aqui
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
7
EXCEL COM VBA – Autoria (Família Carielo)
1ºClique aqui
2ºClique aqui
Clique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
8
EXCEL COM VBA – Autoria (Família Carielo)
Esta planilha contém 3 tabelas com áreas nomeadas que visam facilitar o trabalho com os
objetos de formulários do Excel. A primeira tabela indica o fator referente às despesas de Frete
e Seguro (intervalo de A2 até B5). A segunda tabela indica o número de prestações e a taxa de
juros para cada parcela (intervalo de D2 até E15). A terceira tabela indica a lista de produtos e
o seu respectivos preço (intervalo de G2 até H10).
10ºPasso: Selecione a seguinte planilha e insira o nome Produto, conforme o exemplo abaixo.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
9
EXCEL COM VBA – Autoria (Família Carielo)
Clique aqui
12ºPasso: Clique com o botão direito do mouse sobre a caixa que foi criada por você.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
10
EXCEL COM VBA – Autoria (Família Carielo)
Clique aqui
14ºPasso: Preencha o seu menu Formatar Controle da seguinte forma e clique em Ok.
Observe aqui
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
11
EXCEL COM VBA – Autoria (Família Carielo)
16ºPasso: Clique agora na setinha e veja as opções que serão dadas para você.
Clique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
12
EXCEL COM VBA – Autoria (Família Carielo)
Na célula B3, vamos inserir uma função que irá pesquisar o valor do produto na planilha apoio,
em uma área chamada Tabela. Para o exemplo vamos uar a função índice da seguinte forma:
=INDICE(produto;B2;2).
Na célula C4, vamos inserir um controle que irá informar a quantidade de produtos a serem
adquiridos. Dessa forma estaremos inserindo um Controle Giratório.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
13
EXCEL COM VBA – Autoria (Família Carielo)
CONTROLE GIRATÓRIO
Clique aqui
1ºClique aqui
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
14
EXCEL COM VBA – Autoria (Família Carielo)
1ºClique aqui
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
15
EXCEL COM VBA – Autoria (Família Carielo)
5ºPasso: Selecione a opção Formatar Controle e observe o menu que será aberto.
1ºObserve aqui os
valores
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
16
EXCEL COM VBA – Autoria (Família Carielo)
7ºPasso: Clique fora, e depois clique na setinha para vê a mudança na célula B4.
2ºClique aqui
1ºClique fora
VALOR TOTAL
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
17
EXCEL COM VBA – Autoria (Família Carielo)
NÚMERO DE PARCELAS
2ºClique fora
1ºClique aqui
1ºClique aqui
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
18
EXCEL COM VBA – Autoria (Família Carielo)
1ºClique aqui
2ºClique aqui
4ºPasso: Clique com o botão direito sobre a sua barra de rolagem e clique na opção Formatar Controle.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
19
EXCEL COM VBA – Autoria (Família Carielo)
Clique aqui
6ºPasso: Clique com o botão esquerdo do mouse fora, em qualquer ponto de sua planilha. Depois clique
sobre a seguinte seta.
1ºClique aqui
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
20
EXCEL COM VBA – Autoria (Família Carielo)
%ENTRADA
VALOR DA ENTRADA
Na célula B10, devemos inserir uma fórmula que, com base no valor da entrada, taxas de
juros, números de parcela, valor total e subtraindo a entrada informada irá exibir o valor da
parcela.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
21
EXCEL COM VBA – Autoria (Família Carielo)
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
22
EXCEL COM VBA – Autoria (Família Carielo)
2ºPasso: Observe o resultado final de sua planilha e observe como ela está toda linkada e pronta para
ser utilizada em um ambiente profissional.
A linguagem VBA ou Visual basic é utilizada em todos os programas do pacote Office, seu objetivo é dar
uma área de programação para que o usuário possa criar programas, para melhorar o funcionamento do
Excel.
Clique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
23
EXCEL COM VBA – Autoria (Família Carielo)
2ºPasso: Selecione a opção Mostrar guia Desenvolvedor na Faixa de Opções e clique em ok.
1ºClique aqui
2ºClique aqui
3ºPasso: Observe que instantaneamente irá aparecer no seu menu a opção desenvolvedor, então dê um
clique no mesmo.
Observe aqui
Clique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
24
EXCEL COM VBA – Autoria (Família Carielo)
1ºClique aqui
2ºClique aqui
7ºPasso: Observe o código aberto, depois clique novamente em inserir e clique em Procedimento..
1ºClique aqui
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
25
EXCEL COM VBA – Autoria (Família Carielo)
8ºPasso: Insira o nome subtrair, selecione o tipo para função, no escopo coloque público e clique em ok.
3ºClique aqui
2ºClique aqui
9ºPasso: Observe a sua função aberta, insira as seguintes variáveis de sua função.
Insira as variáveis
10ºPasso: Digite a sua função abaixo, subtrair = x – y e dê enter, feito isso clique em fechar.
Digite a seguinte
fórmula
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
26
EXCEL COM VBA – Autoria (Família Carielo)
1ºPasso: Observe que instantaneamente você irá retornar a sua área de trabalho do Excel.
Digite os seguintes
dados
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
27
EXCEL COM VBA – Autoria (Família Carielo)
Para salvar o seu arquivo com a sua nova função no VBA será de uma forma um pouco diferente.
1ºPasso: Selecione o botão Office, selecione a opção Salvar Como e depois clique em Pasta de Trabalho
Habilitada para Macro.
1ºClique aqui
3ºClique aqui
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
28
EXCEL COM VBA – Autoria (Família Carielo)
1ºClique aqui
2ºClique aqui
2ºPasso: Observe a janela que será aberta, dê um clique na seta de opções e clique sobre a opção
definida pelo usuário.
1ºClique aqui
2ºClique aqui
3ºPasso: Observe que a sua função já foi localizada, dê um clique na mesma e depois em ok.
1ºClique aqui
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
29
EXCEL COM VBA – Autoria (Família Carielo)
1ºClique aqui
2ºClique aqui
2ºClique aqui
1ºClique aqui
Insira os valores
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
30
EXCEL COM VBA – Autoria (Família Carielo)
Utilizando os seus conhecimentos de VBA, desenvolva uma função para resolver esse exercício
informando o valor final de cada produto.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
31
EXCEL COM VBA – Autoria (Família Carielo)
VBA é uma linguagem de programação disponível em todo pacote Office, (Word, Excel, Access)
que disponibiliza ao usuário técnicas de programação para agilizar melhor seus trabalhos.
Para entender um pouco sobre a linguagem de programação no VBA você primeiro deverá
aprender seus alguns conceitos, como Desvios, Laços, Variáveis etc.
Variáveis
As variáveis servem para guardar valores temporários na memória.
Declaração de Variáveis
Uma variável pode ser declarada, usando uma palavras-chave para definir seu escopo ou local
(procedimento ou módulo) onde ela poder ser acessada ou manipulada.
Dim – O valor da variável é retido apenas enquanto o procedimento no qual ela foi declarada
estiver em execução, ou seja, Dim é uma palavra reservada do sistema para declarar que o que
vem depois dela,que é uma variável.
Exemplo:
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
32
EXCEL COM VBA – Autoria (Família Carielo)
1ºPasso: Selecione o menu desenvolvedor e em seguida clique na opção visual basic. (Alt + F11).
2ºPasso: Dentro da plataforma do Visual Basic, selecione a opção inserir e depois clique em UserForm.
1ºClique aqui
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
33
EXCEL COM VBA – Autoria (Família Carielo)
O form são pranchetas onde o aplicativo é criado visualmente. Cada form corresponde a uma
janela, quando o aplicativo estiver sendo processado.
1ºPasso: Começaremos inserindo uma caixa de texto, esta caixa permite que o usuário entre com o
texto, como um nome, endereço ou comentário, também nos permite inserir números. Para colocar esta
caixa de texto clique na mesma e adicione-a ao form.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
34
EXCEL COM VBA – Autoria (Família Carielo)
2ºPasso: Insira uma segunda caixa de texto da mesma forma que foi realizada a primeira.
3ºPasso: O nosso próximo passo agora é inserir o botão que vai multiplicar os valores, acesse a caixa de
ferramentas, clique no botão de comando e adicione-o da mesma forma ao seu form.
4ºPasso: Vamos dar também um nome ao nosso botão, clique em cima do mesmo, vá até a opção
caption existente no menu propriedades e altere o nome para multiplicar.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
35
EXCEL COM VBA – Autoria (Família Carielo)
INSERINDO RÓTULOS
Esta quase acabando, agora vamos inserir um rótulo (caixa de Texto) esse rótulo será usado
para adicionar nomes nas telas, ou seja, um rótulo exibe o texto em um formulário que explica
(parece) uma caixa de texto.
1ºPasso: Para adicionar a ferramenta de rótulo, dê um clique na seguinte opção da caixa de ferramentas
e em seguida dê um clique na seguinte área.
1ºClique aqui
2ºClique aqui
Chegamos à melhor parte está na hora de fazer o seu form começar a funcionar para isso
vamos digitar o código abaixo dentro do botão de Multiplicar.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
36
EXCEL COM VBA – Autoria (Família Carielo)
valor1 = TextBox1.Text
valor2 = TextBox2.Text
End Sub
Descrição do Código
Double (porque o que vai ser inserido vai ser em forma de número)
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
37
EXCEL COM VBA – Autoria (Família Carielo)
Clique aqui
Use a mesma lógica e crie um projeto de calculadora como mostra a figura abaixo:
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
38
EXCEL COM VBA – Autoria (Família Carielo)
Vamos praticar mais um pouco, como já estudamos anteriormente monte o formulário abaixo:
Dimmensalidade As Double
mensalidade = TextBox1.Text
End Sub
Dimmensalidade As Double
mensalidade = TextBox1.Text
End Sub
Desvios
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
39
EXCEL COM VBA – Autoria (Família Carielo)
If condição Then
Comando1
Else
Comando1
End If
Onde os comandos são lógicas operacionais do programa que estarão sujeitas a condição ser
verdadeira ou falsa depois do If. Se a condição for verdadeira então a linha logo abaixo do Thené
verdade e serão obedecidos esses comandos no programa. Caso seja falso depois do Elseentra
os comandos para essa condição. A estrutura if-then-elsetem um resultado lógico binário que
divide o programa em “ramos” verdadeiros e falsos. Mas atenção todo if deve terminar com um
EndIf.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
40
EXCEL COM VBA – Autoria (Família Carielo)
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
41
EXCEL COM VBA – Autoria (Família Carielo)
ABA DESENVOLVEDOR
1ºPasso: Para ativar a aba desenvolvedor vá no menu: Arquivo, em seguida clique em Opções
(suplementos),ative a opção desenvolvedor e depois clique em ok.
1. Depois clique em
“Personalizar faixa de opções”
3.Clique aqui
2ºPasso: Para acessar o VBA, dê um clique no menu desenvolvedor e depois clique em Visual Basic.
Agora podemos gravar macros, inserir botões e dar funções para os mesmos na aba desenvolvedor.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
42
EXCEL COM VBA – Autoria (Família Carielo)
Menus do VBA
Observação: cada componente tem suas propriedades na caixa de propriedades, uma vez que
inseridos no formulário podem ser alteradas as propriedades visuais ou funcionais desse
componente.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
43
EXCEL COM VBA – Autoria (Família Carielo)
PROGRAMA BÁSICO
Vamos começar com um programa para somar e subtrair dois números, na aba desenvolvedor no excel
abra o visual basic.
2ºPasso: Assim que abrir o VBA vamos criar nossa primeira janela para isso no menu inserir na parte
superior do VBA insira um userform.
1.Clique aqui
2.Clique em UserForm
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
44
EXCEL COM VBA – Autoria (Família Carielo)
4ºPasso: Agora na caixa de ferramentas, insira um rótulo, duas caixas de textos e dois botões.
3.Botão
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
45
EXCEL COM VBA – Autoria (Família Carielo)
DECLARANDO VARIÁVEIS
1ºPasso: Agora clique duas vezes no botão + e vamos declarar as variáveis, escreva na pasta UseForm1
que será aberta:
Aqui estamos declarando duas variáveis n1 e n2 do tipo Double que é para todo tipo de número, antes de
tudo escrevemos " Dim " que é a abreviação de Dimension que significa dimensão, declarando Dim antes
de qualquer variável previne de duplicarmos as variáveis por acidente.
n1 = TextBox1.Text
n2 = TextBox2.Text
Label1.Caption = n1 + n2
1.Programe aqui
2.Clique aqui
3ºPasso: Retorne para a sua interface gráfica. Dê um clique com o botão direito na opção UserForm1 e
depois, dê um clique em exibir código.
2. Clique em exibir
código
Você pode fazer isso sempre que quiser alterar o código ou o objeto do programa que você
está fazendo.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
46
EXCEL COM VBA – Autoria (Família Carielo)
n1 = TextBox1.Text
n2 = TextBox2.Text
Label1.caption = n1 - n2
2.Clique aqui
Clique aqui
A referência que nós temos, lael1.caption, faz referência ao rótulo no qual demonstrará a resposta.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
47
EXCEL COM VBA – Autoria (Família Carielo)
1ºPasso: Podemos também atribuir uma variável para o resultado, assim facilita na hora de programar
algo maior vejamos a seguir um exemplo:
n1 = TextBox1.Text
n2 = TextBox2.Text
resultado = val(n1) + val(n2)
Label1.caption = resultado
Preste atenção, agora que temos uma nova variável, resultado, e definimos que essa variável é igual a n1
- n2, então sempre que formos exibir o resultado da operação, precisamos apenas da variável que está
servindo de resultado.
Usamos a expressão “val“ para informar ao programa que queremos somar os valores e não " junta-los".
2ºPasso: Agora vamos testar, na área do useform, dê um duplo clique no botão + e nas variáveis adicione
a variável resultado separando por virgula, apenas ficando a linha de variáveis da seguinte maneira:
Logo, abaixo da linha onde temos n2 = textbox2.text escreva: resultado = val(n1)+ val(n2)
Em seguida, onde está escrito Label1.caption = n1 + n2 apague o que estiver depois do sinal de igualdade
= e escreva logo em seguida no mesmo lugar, resultado.
Depois execute e teste o programa e lembre de que você pode usar isso em qualquer programa que for
realizado ou algoritmo.
1º No mesmo programa que acabamos de fazer insira mais dois botões um para dividir e outro para
multiplicar e insira os códigos em cada um.
DICA: Não esqueça de declarar as variáveis, elas são fundamentais para a interpretação do programa.
3º Faça um programa para somar 4 números e depois divida o resultado da soma por 2 números.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
48
EXCEL COM VBA – Autoria (Família Carielo)
PORCENTAGEM
Agora vamos fazer um programa para calcular a mensalidade de um aluguel, caso ele esteja atrasado ou
seja antecipado.
1ºPasso: No mesmo projeto, selecione o menu inserir e depois clique em UserForm para inser outra janela
do nosso projeto.
1.Clique aqui
2.Clique em UserForm
2ºPasso: Insira agora dois otões, uma caixa de texto e um rótulo ao seu userform2.
3ºPasso: No Caption do botão1 escreva antecipado no Caption do botão 2 escreva atrasado e no rótulo
escreva resultado.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
49
EXCEL COM VBA – Autoria (Família Carielo)
4ºPasso: Depois de organizar tudo, clique duas vezes no botão antecipado e escreva a sua programação:
mens = TextBox1.Text
Oserve a sua
programação
5ºPasso: De volta para ao userform, clique duas vezes no botão atrasado e escreva a sua programação:
mens = TextBox1.Text
Oserve a sua
programação
7ºPasso: Agora de volta ao userform, selecione o Rótulo e na propriedade Autosize deixe em True, depois
execute o programa e salve o mesmo.
3ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
50
EXCEL COM VBA – Autoria (Família Carielo)
SALVANDO ARQUIVO
1ºPasso: Quando for salvar um programa em VBA no excel voce deve selecionar a opção -> pasta de
trabalho habilitada para macro do excel(*.xlsm). Pois é preciso para que o excel reconheça que existe um
algoritmo dentro da planilha.
1ºClique aqui
2ºClique aqui
O botão de opção serve para que possamos escolher entre dois algoritmos,ou seja, o programa irá executar
um código quando um botão estiver selecionado e outro código para o outro botão que estiver selecionado.
1ºPasso: Para começar, insira outro UserForm no mesmo projeto que estamos desenvolvendo e dentro
da nossa janela insira dois botões de opção, um rótulo, uma caixa de texto e um botão de comando.
1ºClique aqui
2ºClique aqui
Deixe o seu
useform assim
2ºPasso: Mude o caption do botão de opção 1, para Dólar e o Caption do botão de opção 2, para Euro.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
51
EXCEL COM VBA – Autoria (Família Carielo)
Deixe o seu
useform assim
1ºClique aqui
2ºClique aqui
Quando, ajustamos o autosize para true, automaticamente ele ajusta a caixa do rótulo para o
seu tamanho ideal.
5ºPasso: Agora clique duas vezes no botão converter e escreva a seguinte programação:
vlr = TextBox1.Text
End If
Também devemos declarar o comando End If para cada condição que inserirmos no nosso
programa.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
52
EXCEL COM VBA – Autoria (Família Carielo)
1ºPasso: Agora vamos criar botões para abrir seu programa dentro do excel, voltando a planilha do excel
no menu desenvolvedor clique na ferramenta inserir depois em botão.
2.Clique aqui
1.Clique aqui
3.Clique aqui
2ºPasso: Dê um clique em qualquer célula de sua planilha, para que o seu botão apareça.
1.Clique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
53
EXCEL COM VBA – Autoria (Família Carielo)
3ºPasso: Depois de criar o seu botão, aparecerá uma janela, para atribuir uma macro nessa janela clique
em novo.
Clique aqui
3ºPasso: Irá aparecer uma nova janela dentro do VBA, para inserir os comandos então escreva:
4ºPasso: Aqui estamos chamando o userform1, para chamarmos os outros programas que fizermos, crie
outros botões e atribua novas macros para eles, assim como fizemos com o primeiro botão.
5ºPasso: Para renomear o seu botão, clique com o botão direito do mouse em cima do mesmo e clique
em Editar Texto.
2ºClique aqui
5ºPasso: Não precisa apertar enter para atribuir o nome, basta apenas escrever. Em seguida, crie os
botões aluguel e conversão, em seguida atriua as macros aos botões.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
54
EXCEL COM VBA – Autoria (Família Carielo)
7ºPasso: Execute o seu programa e oserve as funcionalidades, viu como foi simples?
Caso, você deseje alterar o tamanho ou o posicionamento do seu otão, para selecionar o
mesmo, asta clicar em cima dele com o otão direito do mouse.
1º No mesmo programa que acabamos de fazer insira mais dois botões um para dividir e outro para
multiplicar e insira os códigos em cada um.
DICA: Não esqueça de declarar as variáveis, elas são fundamentais para a interpretação do programa.
3º Faça um programa para somar 4 números e depois divida o resultado da soma por 2 números.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
55
EXCEL COM VBA – Autoria (Família Carielo)
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
56
EXCEL COM VBA – Autoria (Família Carielo)
CAIXA DE COMBINAÇÃO
Vamos agora aprender a usar a caixa de combinação e de seleção, a caixa de combinação na verdade é
uma combobox que serve para listar determinados itens ou valores.
O programa que criaremos aqui, serve para calcular o valor das parcelas de uma compra.
1ºPasso: Para começar abra o Excel, em seguida o Visual Basic, insira um UserForm e dentro da janela
insira uma caixa de texto, um rótulo, um botão e uma caixa de seleção.
Caixa de combinação
2ºPasso: Renomeie o botão para Calcular, o rótulo para Resultado e mude as propriedades do rótulo
Autosize para true e a propriedade Wordwrap para false, na propriedade Caption da nossa janela escreva
Parcelas.
Dim c As Double
Dim p As Integer
c = TextBox1.Text
p = ComboBox1.Value
Label1.Caption = c / p
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
57
EXCEL COM VBA – Autoria (Família Carielo)
Temos nosso programa já funcionando, mas a caixa de combinação ainda está vazia, se você executar o
programa verá que não tem nenhum valor, então precisaremos inserir os valores na caixa de combinação,
para que ao executarmos o programa já estejam disponíveis.
EVENTOS
Ainda na janela de códigos, onde você acabou de escrever o seu programa de parcelas repare na parte
superior da janela que possuimos duas caixas de listagem, na da esquerda temos os componentes ativos,
ou seja, os componente que estamos usando no momento. Na da direita, temos os eventos que
representam algo que poderá acontecer no programa executado pelo usuário.
Componentes Eventos
Por exemplo, se desejarmos executar algum comando, quando o usuário fechar o programa usamos o
evento Exit relacionando-o com o componente onde estará o código.
ALTERANDO UM EVENTO
1ºPasso: Ainda na janela de códigos na caixa de seleção a esquerda, selecione o componente userform,
automaticamente irá criar um procedimento para o componente veja a seguir.
O evento que precisamos é o Initialize que fará com que nossos comandos sejam executados
assim que o programa inicializar.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
58
EXCEL COM VBA – Autoria (Família Carielo)
2ºPasso: Na caixa de listagem a direita selecione esse evento (intialize), e então será criado o
procedimento que desejamos.
2.Clique aqui
ComboBox1.AddItem "2"
ComboBox1.AddItem "3"
ComboBox1.AddItem "4"
ComboBox1.AddItem "5"
ComboBox1.AddItem "6"
ComboBox1.AddItem "7"
ComboBox1.AddItem "8"
ComboBox1.AddItem "9"
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
59
EXCEL COM VBA – Autoria (Família Carielo)
4ºPasso: Depois disso, salve e execute o programa para testar se funcionou, você deverá checar a caixa
de combinação.
2.Clique aqui
Essa opção quando habilitada não permite que a caixa de listagem seja editada.
1º No mesmo programa que acabamos de fazer insira mais dois botões um para dividir e outro para
multiplicar e insira os códigos em cada um.
DICA: Não esqueça de declarar as variáveis, elas são fundamentais para a interpretação do programa.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
60
EXCEL COM VBA – Autoria (Família Carielo)
CAIXA DE SELEÇÃO
Agora, iremos adicionar um novo componente em nosso programa de parcelas, a caixa de seleção, ela
serve para dar a opção ao usuário de executar ou não uma determinada função do nosso algoritmo, então
mais uma vez iremos usar a estrutura de condição " SE " onde no nosso caso é o IF.
1ºPasso: Insira uma caixa de seleção em nosso programa de parcelas e nomeie o Caption para: " Com
Juros".
1ºClique aqui
2ºClique aqui
2ºPasso: Em seguida, clique duas vezes no botão Calcular, apague a linha abaixo de onde atribuímos os
valores das variáveis c e p.
Apague aqui
Label1.Caption = FormatCurrency(c / p)
Else: If CheckBox1.Value = True Then Label1.Caption = FormatCurrency(((c * ((1 + 0.02) ^ p)) / p))
End If
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
61
EXCEL COM VBA – Autoria (Família Carielo)
Observe a sua
programação
Usamos aqui duas condições: onde na primeira condição, quando a caixa de seleção estiver desativada o
programa irá apenas dividir o valor pelas parcelas.
Na segunda condição, o programa irá executar a função onde temos a fórmula dos juros compostos, salve
tudo e execute e teste o seu programa, não esqueça de salvar com a opção Habilitada para macros do
Excel.
3ºPasso: Execute o seu programa (F5) e observe se o mesmo está funcionando corretamente.
Observe o funcionamento
da sua caixa de seleção
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
62
EXCEL COM VBA – Autoria (Família Carielo)
Vamos trabalhar agora com outras condições, vamos elaborar um programa que calcule a média de um
aluno a partir de 5 notas sendo que se a nota 2 ou a nota 5 for menor que 3 ele será reprovado e se a nota
1 e a nota 3 for menor que 5 também será reprovado.
Note que, temos as condições " E ", " OU ", na condição e afirmamos que as duas respostas tem que ser
verdadeiras na condição ou apenas uma das respostas precisa ser verdadeira.
1ºPasso: Para começar abra o Excel e na aba desenvolvedor abra o Visual Basic e insira um UserForm.
2ºPasso: Dentro do UserForm insira 6 rótulos e 5 caixas de texto e um botão depois organize cada caixa
de texto ao lado do rótulo correspondente, onde o rótulo1 ao lado da caixa de texto 1:
3ºPasso: Nas propriedades do rótulo Resultado deixe em False a propriedade WordWrap e em true a
propriedade AutoSize.
4ºPasso: Agora clique duas vezes no botão calcular e vamos aos comandos:
n1 = TextBox1.Text
n2 = TextBox2.Text
n3 = TextBox3.Text
n4 = TextBox4.Text
n5 = TextBox5.Text
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
63
EXCEL COM VBA – Autoria (Família Carielo)
If (n2 < 3 Or n5 < 3) Or (n1 < 5 And n3 < 5) Then (nesta linha está nossa condição)
Label6.Caption = "Reprovado " & " 2º nota " & n2 & " 1º Nota " & n1
Else: Me.Label6 = "Aprovado " & " Média = " & (Val(n1) + Val(n2) + Val(n3) + Val(n4) + Val(n5)) / 5
End If
Para finalizar não esquecer do End IF pois estamos usando uma condição.
Na linha onde temos nossa primeira condição, repare que temos dois parênteses:
1.No primeiro temos, (n2 < 3 OR n5 < 3) isso quer dizer que se n2 OU n3 for menor que 3 será
reprovado em seguida temos a nossa segunda condição que também vem seguida de OR (ou) que diz que
se nossa condição do primeiro parênteses for falsa.
2.A segunda condição deverá ser analisada onde temos: (n1 < 5 and n3 < 5) aqui estamos dizendo
que se n1 E n3 forem ambos menor do que 5 então o aluno será reprovado.
Logo abaixo temos o comando Else (não seguido de IF), o comando else não seguido de if serve para não
precisarmos declarar uma condição isso significa que se todas as opções anteriores forem falsas o programa
executará o que estiver no Else.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
64
EXCEL COM VBA – Autoria (Família Carielo)
A partir de agora, veremos alguns exemplos para entender melhor como funciona a estrutura condicional,
acompanhe escrevendo os códigos no VBA, basta abrir um userform e clique duas vezes no mesmo para
inserir os códigos.
Temos uma diferença entre IF, Else:IF e ElseIF , o Else IF só pode ser usado uma vez e deverá ter uma
condição dentro dele, por exemplo:
If n1 < 5 Then
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
65
EXCEL COM VBA – Autoria (Família Carielo)
Porém o Else IF só nos permite usa-lo uma vez, seguido da condição IF, ou seja, para cada estrutura IF
que tivermos só podemos usar o Else IF uma vez, para cada estrutura vejamos um exemplo a seguir:
Correto
Nossa estrutura está correta, porém é limitada a apenas duas condições, se por exemplo desejássemos
incluir o Else para executarmos, outra condição caso as anteriores forem falsas não é possível ao
adicionarmos o comando :
Logo abaixo da estrutura Else If o programa apresenta erro ao ser executado, retornando o seguinte erro:
Erro apresentado
ao executar.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
66
EXCEL COM VBA – Autoria (Família Carielo)
Se desejarmos usar mais de duas condições iremos usar então o ElseIf veja no exemplo a seguir:
Então temos uma tabela básica de como devemos usar as estruturas de condição
+ + +
+
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
67
EXCEL COM VBA – Autoria (Família Carielo)
= (igual)
Variáveis n1 e n2
definidos como 25
Condições
Resultado
O mesmo vale para os outros operadores.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
68
EXCEL COM VBA – Autoria (Família Carielo)
1° Faça um programa que leia a velocidade de um carro e informe se está em velocidade média, alta ou
baixa de acordo com a seguinte faixa: abaixo de 60 = Velocidade baixa, acima de 60 e abaixo de 90 =
velocidade baixa, acima de 90 = velocidade alta.
Lembrando que para elevar um número a uma potência usamos a expressão n^e onde n é o número e "
e " é a potência
3º Faça um programa que efetue a soma de dois números e depois faça a divisão da soma por 3 caso a
soma ultrapassar 25 e caso a soma for menor que 25 a divisão deverá ser por 2.
SELECT CASE
Agora iremos ver a estrutura de seleção onde o resultado depende de uma escolha de menu através de
um dado de entrada, por exemplo queremos um programa que ao ser digitado 1 ele faça uma soma e ao
ser digitado 2 ele faça uma subtração, para isso podemos usar o case que também serve para ser usado
com texto.
case (condição1)
case (condição2)
case else
End Select
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
69
EXCEL COM VBA – Autoria (Família Carielo)
1ºPasso: Abra o VBA e insira um userform, dentro do userform insira um botão e uma caixa de texto
depois no caption do botão escreva Teste e na propriedade Caption da nossa janela escreva Case Ficando
da seguinte maneira:
Dim n1 As Integer
n1 = textbox1.text
Select Case n1
Case 1
MsgBox ("100")
Case 2
MsgBox ("200")
Case Else
End select
Executar, clique ou
aperte F5.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
70
EXCEL COM VBA – Autoria (Família Carielo)
MSG BOX
Usamos aqui o MsgBox para retornar o resultado em uma pequena janela criada automaticamente no
Excel, usamos também o Case Else que tem a função de dar um retorno, caso as escolhas anteriores
falharem, não podemos esquecer também que no final do algoritmo devemos finalizar com o comando End
Select pois o programa precisa entender que é o fim das escolhas.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
71
EXCEL COM VBA – Autoria (Família Carielo)
Vamos incluir algo mais, nosso programa agora, deverá ler o nome do funcionário de uma empresa e
também o nível numa escala de 0 a 5 e retornará com o nome do mesmo funcionário e sua função de
acordo com o seu nível.
1ºPasso: Abra o VBA e insira um userform, dentro da nossa janela também insira uma caixa de texto e
uma caixa de combinação e um botão.
Observe os elementos do
useform
2ºPasso: Mude o Caption da janela para Teste Funcionário e o Caption do botão para Resultado.
1ºClique aqui
2ºClique aqui
Esta habilitação deverá ser feita, para não haver uma alteração na combobox, no momento de
execução do programa. Impedindo assim, que o usuário insira outros valores.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
72
EXCEL COM VBA – Autoria (Família Carielo)
nome = TextBox1.Text
Atribuindo as variáveis aos componentes
cargo = ComboBox1.Value
Case 1
Case 2
Case 4
End Select
1ºInsira um nome
aqui
2ºInsira um valor de
0-4
Podemos também fazer escolhas com variáveis de texto vejamos um exemplo a seguir.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
73
EXCEL COM VBA – Autoria (Família Carielo)
2ºPasso: Renomeie o Caption da janela e botão a sua preferência. Aqui estaremos comparando valores
de texto em vez de valores numéricos.
3ºPasso: Com nosso userform pronto clique duas vezes no botão e escreva:
End Sub
A variável time do
tipo String(texto)
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
74
EXCEL COM VBA – Autoria (Família Carielo)
Podemos também usar algoritmos para calcular a partir de uma escolha, faremos agora um programa que
deverá calcular o preço do combustível comprado por um cliente e deverá dar repostas diferentes para
cada tipo de combustível, nesse caso usaremos como exemplo a gasolina aditivada, premium e comum.
1ºPasso: Em um novo userform adicione duas caixas de texto, um botão e um rótulo, altere o caption do
botão para Calcular e nas propriedades Wordwrap deixe em False e em Autosize deixe em True.
Ao lado de cada caixa de texto adicione um rótulo identificando os campos e deixe da seguinte maneira:
TextBox2
TextBox1
gas = TextBox1.Text
tipo = TextBox2.Text
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
75
EXCEL COM VBA – Autoria (Família Carielo)
Case "comum"
Case "aditivada"
Aqui está nossas diferentes
Label3.Caption = gas * 3.1 escolhas de calculo
Case "premium"
Case Else
End Select
Execute o programa e
confira o seu funcionamento
1º Faça um programa que leia o nome de três carros e de acordo com o carro retorne com a marca do
mesmo. EX: Gol = Wolkswagen
2º Faça um programa que calcule os juros de um certo valor e de acordo com a especificação de mínimo,
médio ou máximo os juros tenham valores diferentes. EX: valor 560 com juros mínimo = (560 * 0.01) +
560 = 565.6 , para juros médio defina qualquer outra porcentagem assim para juros máximo também.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
76
EXCEL COM VBA – Autoria (Família Carielo)
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
77
EXCEL COM VBA – Autoria (Família Carielo)
LAÇOS DE REPETIÇÃO
Os laços de repetição servem para executar um mesmo algoritmo várias vezes até que se chegue em um
determinado objetivo, por exemplo queremos somar gradualmente 2+2 até que se chegue em 10 então o
laço de repetição nos permitirá realizar esta atividade.
1ºPasso: Abra o VBA, insira um Userform, dentro da janela insira um botão e uma caixa de listagem.
Dim i As Integer
For i = 1 To 50
ListBox1.AddItem (i)
Next i
Abaixo da linha onde declaramos a variável i temos a estrutura do laço de repetição que diz:
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
78
EXCEL COM VBA – Autoria (Família Carielo)
O programa, irá fazer o mesmo processo até que tenha atingido 50 vezes, em seguida, execute o programa
clique no botão e veja.
Poderemos efetuar soma de uma ordem de números e fazer uma tabuada, utilizando as estruturas do
laço de repetição, desenvolveremos este conteúdo agora.
1ºPasso: Adicione em um novo userform uma caixa de listagem, um botão e uma caixa de texto.
Observe a disposição
de seu programa
2ºPasso: Na propriedade caption da nossa janela escreva Tabuada, no botão escreva Calcular, e em
seguida, clique duas vezes no botão para escrever a sua programação.
x = textbox1.text
for y = 1 to 10
listbox1.additem(x & " * " & y & " = " & x*y)
next y
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
79
EXCEL COM VBA – Autoria (Família Carielo)
1ºInsira o número
2ºClique em calcular
Repare que o número "3" a direita representa nossa variável e logo após o sinal de multiplicar temos o
número que representa nosso laço que vai de 1 a 10 (for y = 1 to 10).
MOD
Como o laço também podemos checar divisões de números em sequência para saber se é divisível por
certo número, por exemplo queremos saber quantos e quais números são os que podemos dividir por 5 e
ter um resultado inteiro ou até mesmo saber todos os números pares e ímpares. O MOD trabalha apenas
com números inteiros.
" n MOD x " o MOD simplesmente pega o resto da divisão EX: 10 MOD 5 , neste caso o comando MOD irá
pegar o número 10 e dividir por 5 mas o que interessa para esse comando é apenas o resto da divisão
como 10 dividido por 5 não tem resto ou seja é igual a zero esse será o resultado do MOD = 0.
Outro exemplo: 10 MOD 7 neste caso o resultado será 3 pois se dividirmos 10 por 7 sobram 3 que é o
resultado do nosso MOD.
Observe a disposição
de seu programa
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
80
EXCEL COM VBA – Autoria (Família Carielo)
Observe o resultado.
Agora vamos usar o laço com a condição IF, para mais exemplos de como usar a função MOD.
1ºPasso: Apague o rótulo que colocamos no nosso programa anterior e insira uma caixa de listagem.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
81
EXCEL COM VBA – Autoria (Família Carielo)
2ºPasso: Dê um duplo clique no botão e apague a linha " Label1.caption = (10 Mod 7) ", deixando da
seguinte forma.
Dim i As Integer
For i = 1 To 10
If (i Mod 2 = 0) Then
ListBox1.AddItem (i)
End If
Next i
Nas linhas onde temos " if ( i MOD 2 = 0) " "ListBox1.AddItem (i)" estamos determinando ao programa
que se a divisão de i por 2 seja igual a zero, o programa deverá inserir na listbox a número do nosso laço
cujo resto da divisão resultou em zero.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
82
EXCEL COM VBA – Autoria (Família Carielo)
3º Faça um programa para exibir apenas os números divisíveis por 7 de 1 até 500
Também é possível inserir valores nas celular usando o VBA, por exemplo podemos numerar várias linhas
usando um código simples ou até imprimir nas células resultados de contas feitas diretamente no VBA,
vejamos um exemplo.
Cells(5, 2) = 23
Nesta linha de comando temos a representação das células através de linhas e colunas, observe que o
nosso comando é Cells(5,2) onde o 5 representa a linha e o 2 representa as colunas, execute o programa
e veja:
Coluna 2
Linha 5
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
83
EXCEL COM VBA – Autoria (Família Carielo)
Podemos também inserir textos, para isso, devemos colocar o mesmo entre aspas, na linha de comando
onde temos Cells(5,2) = 23 apague o 23 e escreva “Leiaut” entre aspas para indicar que é um texto, depois
execute o programa.
É possível alterar como o excel se refere as células exibindo apenas linhas e colunas em vez de letras e
linhas.
1ºPasso: No menu arquivo, selecione opções do Excel e em seguida, clique em fórmulas lado esquerdo.
Clique aqui
2ºPasso: Ao lado direito temos um quadro com várias opções procure pela opção “Estilo de referência
L1C1” e marque esta opção.
1ºClique aqui
2ºClique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
84
EXCEL COM VBA – Autoria (Família Carielo)
Agora, sabemos a numeração de cada coluna, o que irá ajuda quando estivermos usando o
comando Cells(), visto que neste comando não podemos inserir os nomes das células EX:
A1,B2. Apenas os endereços das células referentes ao numero da linha e coluna.
5ºPasso: Agora vamos usar o laço para facilitar alguns trabalhos, no mesmo userform apague a nossa linha
de comando Cells (5,2) = “Leiaut”, e dessa vez escreva a seguinte linha de comando:
For i = 1 to 10
Cells (i, 1) = i
Next i
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
85
EXCEL COM VBA – Autoria (Família Carielo)
6ºPasso: Aqui estamos usando o laço para numerar todas as linhas de 1 até 10, execute o programa e
observe.
Com isso, podemos numerar quantas linhas e colunas quisermos ou precisarmos, podemos
fazer o mesmo para texto.
Next com step, é um incremento que o laço insere na contagem. Na contagem natural temos incremento
1 pois contamos 1+1 = 2, 2+1, 3+1 etc.. mas, se incluirmos o incremento 2 a contagem seria 1+2 = 3,
3+2 = 5, 5+2 = 7 e assim por diante, agora vamos testar no excel
1ºPasso: Você poderá fazer esse programa no mesmo formulário de antes, apenas deixe todo o código da
seguinte maneira:
For i = 1 To 20 Step 3
Cells(i, 1) = i
Next i
Temos um incremento de 3
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
86
EXCEL COM VBA – Autoria (Família Carielo)
VARIÁVEIS EM CÉLULAS
Trabalharemos agora com variáveis, cujos valores podem vir de células do excel e também ir para células,
como vimos anteriormente temos o comando Cells(1,1) onde 1,1 é o endereço da célula, assim podemos
inserir dados nesse endereço a partir do VBA e também retirar dados usando a sintaxe:
A = Cells(3,1)
B = Cells(3,2)
Cells(3,3) = a+b
Vamos a prática:
1ºPasso: Abra o VBA e insira um UserForm e dentro do UserForm insira um botão, após isso nomeie o
Caption do UserForm e do botão para Teste.
Dim a, b as Integer
A = Cells(3,1)
B = Cells(3,2)
Cells(3,3) = a+b
Insira da seguinte
forma os seus valores
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
87
EXCEL COM VBA – Autoria (Família Carielo)
4ºPasso: Execute o seu programa no VBA, observe que a célula (3,3), será preenchida quando você clicar
em teste.
1ºClique aqui
2ºObserve seu
resultado aqui
COMANDO RANGE
Existe uma outra forma de definir variáveis a partir de células que é o comando Range(“Cel1”,[Cel2]), essa
é a sintaxe do comando. Range significa um intervalo entre dois pontos, que nesse caso seriam duas células
Cel1 e Cel2, para este comando devemos colocar o nome da célula a qual queremos trabalhar.
EX: Range(“cel1”) = 10
1ºPasso: Abra o VBA e insira um UserForm e dentro do UserForm insira um botão e altere o Caption da
janela e do botão para Teste conforme no exemplo anterior.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
88
EXCEL COM VBA – Autoria (Família Carielo)
Se colocarmos a segunda célula no nosso range, o excel interpretará também todo intervalo de células
entre elas, vejamos um exemplo:
Range(“a1”,[c5]) = 10
O Comando deverá estar sempre nessa sintaxe a primeira célula entre aspas “” e a segunda
célula entre colchetes [] , não esquecer da virgula entre eles.
2ºPasso: Feito isso, execute o algoritmo e repare na pagina seguinte o seu funcionamento. Veja que todo
intervalo de células entre “a1”, e [c5] foi numerado.
Agora iremos realizar uma planilha para calcular o consumo de energia de uma suposta casa, com preços
fictícios, somente para exemplo do nosso programa.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
89
EXCEL COM VBA – Autoria (Família Carielo)
2ºPasso: Agora na guia desenvolvedor no botão inserir insira o componente botão(controle de formulário)
na planilha onde estamos trabalhando logo abaixo da célula “Total”.
1ºClique aqui
2ºClique aqui
3ºPasso : Após inserir o botão na planilha do excel mude o texto do mesmo para Calcular custo final.
Agora vamos criar um programa no VBA para calcular o custo a partir do consumo que temos na planilha.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
90
EXCEL COM VBA – Autoria (Família Carielo)
2ºPasso: Agora no menu inserir clique em UserForm e assim que o formulário for inserido clique no
titulo do mesmo e na propriedade caption escreva “Calcular”.
3ºPasso: Agora no nosso programa insira um botão e um rótulo que se encontram na caixa de ferramentas
ao lado.
4ºPasso: Agora selecione o botão que acabamos de inserir clicando uma vez sobre ele e na propriedade
Caption escreva “Calcular”.
2. Escreva no Caption
“Resultado”.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
91
EXCEL COM VBA – Autoria (Família Carielo)
6ºPasso: Agora, iremos inserir os comandos no nosso botão, o programa funcionará da seguinte maneira:
Primeiro nossa planilha irá calcular o consumo individual e total dos equipamentos, em seguida o nosso
programa irá calcular o preço de acordo com o consumo obtido na planilha.
Agora vamos verificar em que célula se encontra o total do consumo dos aparelhos.
Célula T17
cons = Range("t17") ‘Aqui estamos definindo que o valor da variável cons virá da célula t17
Else: If (cons > 220) Then Label1.Caption = FormatCurrency(((cons - 220) * 0.35026) + 56.2165)
End If
Range("t19") = Label1.Caption ‘Aqui estamos fazendo com que os dados sejam exibidos na célula t19
Observe que usamos o comando FormatCurrency(), este serve para formatar a saída dos dados em
valores monetários, temos também outros tipos de formatação alguns são:
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
92
EXCEL COM VBA – Autoria (Família Carielo)
8ºPasso: Agora voltando para a planilha do excell clique com o botão direito do mouse em cima do
botão “Calcular custo final” que fizemos anteriormente e clique na opção Atribuir Macro, depois escreva
consumo para o nome da macro e clique em Novo.
9ºPasso: Agora irá abrir uma janela no VBA, escreva o comando UserForm1.show
Após a realização destes procedimentos, estará pronto o programa, em seguida volte na planilha e teste
se funcionou corretamente.
Exemplo da planilha, os valores devem sair formatados em Porcentegem, e Moeda para o salário.
2º Faça um programa para simular uma conta poupança, pode ser uma função ou até mesmo uma
aplicação com interface gráfica no VBA.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
93
EXCEL COM VBA – Autoria (Família Carielo)
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
94
EXCEL COM VBA – Autoria (Família Carielo)
Estudaremos agora o funcionamento das subs e funções, seus processos, o que é possível fazer e seus
parâmetros, também iremos aprender como chamar uma sub em uma função.
Os argumentos de uma Sub irão funcionar como variáveis uma vez declarados na criação de uma Sub
eles podem receber e processar valores.
Porém, para podermos visualizar o resultado do processamento desses dados é necessário chamar essa
Sub com o comando Call, esse comando chama uma Sub com valores específicos, veja no exemplo abaixo:
Ao darmos esse comando os valores 12, 10 e 4 serão introduzidos respectivamentes nos argumentos 1 2
e N.
Sub abc()
Call exemplo(12,10,4)
End Sub
Nessa sub estamos chamando, outra Sub porém essa deve ser considerada macro já que não possui
argumentos, e podemos associa-la a um botão.
Repare que na janela para atribuir macros apenas nossa Sub sem argumentos aparece.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
95
EXCEL COM VBA – Autoria (Família Carielo)
FUNCTIONS
Uma function é uma formula no Excel onde podemos facilitar alguns cálculos, temos várias formulas no
excel porém se quisermos uma formula que faça um calculo especifico teremos de faze-la para isso veremos
as Functions que tem a seguinte sintaxe:
Function dta(a,b,c)
Dta = (((b)^2)-4*a*c)
End Function
Aqui temos uma fórmula para calcular Delta em uma equação, observe que temos os parâmetros a,b,c
que funcionarão como variáveis, diferente das Subs as funtions tem acesso direto as planilhas podendo
obter seu valor a partir de qualquer célula que o usuário escolher.
Podemos dar formatos de saída para os resultados e ainda exibir mensagems com o comando
MsgBox.
Clique aqui
1ºClique aqui
2ºClique aqui
Sub atm(a, b)
a = (a - 3) * 2
b = (a + 1) * 3
MsgBox (a + b)
End Sub
Observe o seu algoritmo, temos a sub atm com dois parâmetros. A e B, esses parâmetros irão funcionar
como variáveis onde irão receber um valor e logo abaixo o algoritmo irá processar o que deve ser feito com
esses parâmetros.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
96
EXCEL COM VBA – Autoria (Família Carielo)
Sub c_atm()
call atm(4,7)
End Sub
Aqui acabamos de criar uma sub sem argumentos que é o mesmo que uma macro e nela chamamos a sub
atm com os valores 4 para A e 7 para B.
5ºPasso: Agora voltando na planilha do Excel na aba desenvolvedor, clique na opção inserir e depois no
botão de controle de formulário.
1ºClique aqui
2ºClique aqui
6ºPasso: Dê um clique na sua área de trabalho, observe que instantaneamente o seu botão irá aparecer,
juntamente com ele a opção de atribuir macro, selecione a opção c_atm e clique ok.
1ºClique aqui
2ºClique aqui
Clique aqui
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
97
EXCEL COM VBA – Autoria (Família Carielo)
8ºPasso: Ao clicar no botão aparecerá uma caixa de mensagem com o número 11 que é o resultado da
sub atm(a,b) em relação aos valores que inserimos na sub c_atm() quando usamos a expressão call
atm(4,7) os parâmetros a e b foram substituídos respectivamente por 4 e 7.
Valores a serem
atribuídos para os
Chamando a sub atm parâmetros a e b
Agora veremos como chamar uma sub em uma function que seria uma fórmula no excel.
Function test_atm()
Call c_atm
End Function
2ºPasso: Em seguida, em uma célula do excel digite a fórmula =test_atm() sem nenhum valor, pressione
enter e a planilha irá retornar um valor.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
98
EXCEL COM VBA – Autoria (Família Carielo)
ARRAYS
Array é um conjunto especial de variáveis que podem formar uma matriz, semelhante ao vetor no visualg
(portugol) com arrays é permitido criar “clones” de uma variável, dessa forma poderemos com uma única
variável armazemar vários valores, vejamos um exemplo da estrutura Array:
Simplesmente com parênteses podemos atribuir a função Array para uma variável, aqui temos um Array
unidimensional pois só tem um parametro (5) caso fossem dois parâmetros seria da seguinte maneira (2,2)
vejamos um exemplo de como inserir dados em uma matriz unidimensional.
Exemplo: Se quisermos inserir mais de um dado numérico na variável i usaremos a seguinte sintaxe:
i(0) = 10
i(1) = 20
i(2) = 30
i(3) = 40
i(4) = 50
i(5) = 60
A mesma variável i porém com valores diferentes, a variável i agora se divide em 6 variáveis(começando
do 0) e para acessar basta digitar a variável seguida de seu parâmetro que deverá está entre parênteses.
i = new integer(10) {}
1ºPasso: Abra o VBA na aba desenvolvedor, e no menu inserir do VBA clique em UserForm para
inserirmos uma janela.
1ºClique aqui
2ºClique aqui
2ºPasso: Insira um botão e mude a propriedade Caption do botão e da janela para ‘’Teste’’.
2. Mude o
Caption do botão
e da janela
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
99
EXCEL COM VBA – Autoria (Família Carielo)
numero(2) = 6
msgbox(numero(1)+numero(2))
Observe como foi simples, utilizamos a mesma variável (numero) para somar dois numeros, nesse
algoritmo temos a variável número como um array com um parâmetro e seu limite em 2, ou seja, podemos
inserir no máximo 3 dados diferentes nessa mesma variável(contando com 0), agora basta executar o
programa para testar aperte F5 e teste se funcionou corretamente.
Agora, criaremos um Array com laço para facilitar a inserção de dados, pois imagine se tivessemos que
inserir 50 palavras diferentes, precisariamos ainda assim escrever os parâmetros para cada variável
nome(1),nome(2),Nome(N) etc...
Para isso temos os laços de repetição que irão facilitar a automação desses parâmetros.
1ºPasso: Para começar, dê um duplo clique no botão Teste apague o algoritmo que escrevemos
anteriormente e escreva o seguinte algoritmo:
Dim x As Integer
Dim i(10) As String
For x = 1 To 10
i(x) = InputBox("Insira", "ola")
Next x
For x = 1 To 10
Cells(x, 3) = i(x)
Next x
Aqui utilizamos um laço de repetição e uma inputbox, o qual representa uma janela de mensagem, onde
pode ser inserido dados como em uma janela de questionamento, “insira” e “ola” são subtítulo e título da
inputbox.
Repare no algoritmo que temos x como uma variável do tipo inteira e que funcionará como laço de
contagem de 1 até 10, logo vemos que nos parâmetros da variável i não precisamos digitar cada parâmetro(
i(1) , i(2) , i(3) etc...) o próprio laço irá fazer isso para nós, por isso colocamos apenas i(x) onde x
representa a faixa de números de 1 até 10.
Logo mais, temos a saída dos dados que o usuário ira digitar nas células para isso usamos outro laço onde
a mesma variável X o representa, usamos o comando Cells onde especificamos as linhas e colunas na
planilha do Excel, logo temos Cells(x,3) onde x representa a linha que neste caso serão as linhas pois
como x é a variável do nosso laço de repetição e ele representa de 1 até 10 logo temos Cells(1-10 , 3).
Em seguida temos que Cells(x, 3) = i(x) Onde as células irão receber os valores armazenados
respectivamente na variável i de acordo com seus parâmetros que neste caso é x que representa de 1 até
10, logo teremos 10 valores ou dados listados em 10 linhas na planilha do excel.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
100
EXCEL COM VBA – Autoria (Família Carielo)
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
101
EXCEL COM VBA – Autoria (Família Carielo)
1º Faça uma calculadora que some, subtraia, multiplique, divida com apenas uma variável usando a
função Array.
Exemplo:
2º Faça um algoritmo que leia o nome de dez frutas e depois as reescreva na planilha do Excel em ordem
e devidamente numeradas.
Exemplo:
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
102
EXCEL COM VBA – Autoria (Família Carielo)
MATRIZ BIDIMENSIONAL
Trabalharemos com mais de um parâmetro para as matrizes, agora teremos uma variedade maior de
combinações e possibilidades, visto que antes poderíamos apenas armazenar dados em apenas 1
parâmetro, agora podemos fazer em diversas combinações.
Numero(3,3) Aqui, possuímos uma variável bidimensional, observe que temos dois parâmetros
separados por virgula, dentro desses parâmetros e com os limites colocados aqui nesse exemplo, nossa
variável poderá se dividir em x partes repare.
Veja a quantidade de possibilidades que temos com uma matriz bidimensional, a declaração é a mesma
que usamos para a matriz unidimensional Dim Numero(3,3) as Integer
Sub test()
Dim i(2, 2) As Integer
i(0, 0) = 1
i(0, 1) = 2
i(0, 2) = 3
Aqui estamos definindo
i(1, 0) = 4
i(1, 1) = 5 um valor para a variável i
i(1, 2) = 6 em todos os seus
i(2, 0) = 7 parâmetros.
i(2, 1) = 8
i(2, 2) = 9
Range("b20") = i(0, 0)
Range("c20") = i(0, 1)
Range("d20") = i(0, 2)
Aqui estamos retornando
Range("b21") = i(1, 0) o valor nas células.
Range("c21") = i(1, 1)
Range("d21") = i(1, 2)
Range("b22") = i(2, 0)
Range("c22") = i(2, 1)
Range("d22") = i(2, 2)
End Sub
O resultado desse algoritmo é esse:
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
103
EXCEL COM VBA – Autoria (Família Carielo)
No entando é essa função de algoritmo que iremos usar quando estivermos trabalhando com uma grande
quantidade de variáveis, observe que agora temos 2 parametros e separados por virgula por isso a sintaxe
i(0, 0)
Agora vamos para um exemplo com laço. Nesse exemplo temos 10 alunos de uma escola com 4 notas cada
aluno, e precisamos fazer um programa para cadastrar esses alunos de forma organizada.
1ºPasso: Na aba Desenvolvedor no botão inserir selecione o componente botão de formulário e insira no
canto inferior direito da nossa planilha.
1. Clique aqui
2. Clique aqui
2ºPasso: Quando surgir uma janela pedindo para atribuir uma macro, clique em Cancelar.
1ºPasso: Abra o VBA e ao lado esquerdo onde está a estrutura do projeto, clique com o botão direito do
mouse em cima da pasta de trabalho atual e depois clique em Exibir Código.
2. Clique aqui
Sub cadastro()
Dim nome(10) As String
Dim notas(10, 4) As Double
For x = 1 To 10
nome(x) = InputBox("Insira o nome do " & x & "º aluno", "Cadastro")
For y = 1 To 4
notas(x, y) = InputBox("Insira a " & y & "º nota do aluno " & nome(x), " Notas ")
Next y
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
104
EXCEL COM VBA – Autoria (Família Carielo)
Next x
For x = 1 To 10
Cells(x, 3) = nome(x)
Z=0
For y = 4 To 7
Z=Z+1
Cells(x, y) = notas(x, Z)
Next y
Next x
End Sub
Explicando as linhas:
E para a variável notas que é do tipo Double, possuimos dois parâmetros: utilazaremos o primeiro
parâmetro para representar as linhas, pois iremos listar os alunos verticalmente e as notas, faremos uma
matriz que terá 4 colunas de acordo com nossos parâmetros declarados aqui.
No exemplo abaixo, possuímos um laço para representar os valores dos parâmetros das nossas variáveis
com função Array, repare que estamos usando x para representar as linhas e y as colunas, usamos uma
inputbox para obter os valores.
Porém em notas temos a seguinte configuração notas(x,z) onde z deverá ser um número que represente
de 1 até 4 pois nossa variável notas está configurada na função Array com os parâmetros (10,4), por isso
temos logo abaixo do segundo laço a expressão Z = Z+1 e antes de entrar no segundo laço temos : Z = 0
assim quando o computador executar o algoritmo ele irá interpretar que z = 0
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
105
EXCEL COM VBA – Autoria (Família Carielo)
Assim que estiver entrando no segundo laço, e dentro do segundo laço temos outro laço ainda que é
representado pela expressão lógica Z = Z+1 onde o algoritmo irá somar Z+1 dentro do laço y que rodará
4 vezes.
Assim nossa expressão notas(10,4) poderá ser retornada por completo juntamente com os nomes dos
alunos, observe um pouco mais:
3ºPasso: Voltando a planilha do Excel vamos associar a Sub que acabamos de criar ao botão que tínhamos
adicionado antes, agora na planilha do Excel clique com o botão direito do mouse em cima do botão e
depois clique em Atribuir macro.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
106
EXCEL COM VBA – Autoria (Família Carielo)
Se preferir, renomeie o botão para Cadastro clicando com o botão direito do mouse em cima do mesmo e
escolhendo a opção renomear, depois basta escrever.
Agora clique no botão para testarmos o algoritmo que fizemos e preencha todos os dados pedidos na tela.
Atenção na hora de inserir os dados, repare que o programa pedirá um nome e 4 notas sempre
nessa ordem até completar os 10 alunos, pois se você digitar um nome quando for pedido uma
nota o programa resultará em erro e irá recomeçar.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
107
EXCEL COM VBA – Autoria (Família Carielo)
1º Faça um algoritmo para cadastrar 10 frutas e seus preços e depois faça com que o algoritmo liste as
10 frutas em ordem e numeradas na planilha e com os preços de acordo.
2º Faça um algoritmo para cadastrar nomes e CPF fictícios de 5 pessoas, e os liste na planilha do excel
conforme o exemplo na seguinte página:
No mesmo algoritmo anterior que fizemos para cadastrar os alunos com suas notas vamos fazer agora com
que esse mesmo algoritmo calcule as médias dos alunos e em seguida retorne Aprovado ou Reprovado.
Porém nesse algoritmo iremos dividir as parted dos códigos por etapa a saber:
Variáveis
Entrada
Médias
Saída
Assim fica mais fácil o entendimento do algoritmo e até se desejarmos fazer alterações já iremos saber
que que parte do algoritmo modificar.
Se preferir poderá apenas alterar o algoritmo anterior inserindo as linhas de programação que faltam, ou
poderá refazer de novo de acordo com os passos que executaremos aqui.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
108
EXCEL COM VBA – Autoria (Família Carielo)
1ºPasso: Vamos começar comas variáveis, na aba desenvolvedor abra o VBA e siga os passos abaixo:
2ºPasso: Declarando as variáveis: assim que a janela de códigos abrir crie a Sub Cadastro e declare as
seguinte variáveis:
3ºPasso: Agora ao algoritmo que irá receber os dados de entrada, escreva logo abaixo do algoritmo
anterior:
'Entrada
For x = 1 To 3
nome(x) = InputBox("Insira o nome do " & x & "º aluno", "Cadastro")
For y = 1 To 4
notas(x, y) = InputBox("Insira a " & y & "º nota do aluno " & nome(x), " Notas ")
Next y
Next x
'Entrada
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
109
EXCEL COM VBA – Autoria (Família Carielo)
4ºPasso: Agora definiremos o algoritmo que irá processar os dados, ou seja calcular a média:
'Medias
For h = 1 To 3
media(h) = (notas(h, 1) + notas(h, 2) + notas(h, 3) + notas(h, 4)) / 4
Cells(h, 9) = "Média :"
Temos também a variável média(3) pois já que temos 3 alunos apenas nesse algoritmo teremos apenas
3 medias. Usamos aqui a letra h para representar esse laço.
Essas linhas de algoritmo também estão atuando na saída dos dados mas só em relação as médias já que
estão programadas apenas para retornar Aprovado ou Reprovado de acordo com a média calculada pelo
mesmo algoritmo, que também retornará o valor obtido no calculo das médias.
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
110
EXCEL COM VBA – Autoria (Família Carielo)
5ºPasso: Agora iremos para a parte final: A saída dos dados, logo abaixo do algoritmo anterior(medias)
continue escrevendo o seguinte algoritmo:
'Saída
For x = 1 To 3
Cells(x, 3) = nome(x)
Z=0
For y = 4 To 7
Z=Z+1
Cells(x, y) = notas(x, Z)
Next y
Next x
'Saída
End Sub
6ºPasso: Execute o algoritmo Pressionando F5 e preencha os dados que o programa irá pedir na tela:
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
111
EXCEL COM VBA – Autoria (Família Carielo)
Integral Cursos
Rua Djalma Dutra, 147 | Caruaru - PE
Contato: 9 9284-6344 | 9 9339-5004
112