Você está na página 1de 24

Sistema de Ensino Amazon

Excel Profissional Microsoft Office

Excel
INTRODUÇÃO

A s planilhas eletrônicas ficarão na história da computação como um dos maiores propulsores da


microinformática. Elas são praticamente a causa da explosão dos microcomputadores no final da
década de 1970, tendo como representantes as planilhas Visicalc para os microcomputadores Apple,
Supercalc e Lotus 1-2-3 para os PC's, quando estes foram lançados. Com o advento do ambiente gráfico
Windows, a planilha Excel passou a dominar esse ambiente gráfico, tornando-se a rainha das planilhas.

Figura 1. Área de trabalho do Microsoft Excel

Por padrão, o Microsoft Excel apresenta três planilhas (a planilha é o principal documento usado no Excel para
armazenar e trabalhar com dados, também chamado planilha eletrônica. Uma planilha consiste em células
organizadas em colunas e linhas; ela é sempre armazenada em uma pasta de trabalho.), mas é possível inserir
planilhas adicionais. Com esse conceito, em vez de criar doze arquivos diferentes para mostrar os gastos de
sua empresa no ano, você poderá criar um único arquivo e utilizar doze planilhas em uma pasta de trabalho.

Para inserir rapidamente uma nova planilha ao final das planilhas existentes, clique na guia Inserir Planilha na
parte inferior da tela.

Dica: Você pode também clicar com o botão auxiliar do mouse na guia de uma planilha existente e, em
seguida, clicar em Inserir. Na guia Geral, clique em Planilha e clique em OK.

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
Criar Macros no Excel

O objetivo das macros é programar funções típicas do Excel de forma a facilitar a execução de tarefas
repetitivas.
Uma macro é um pequeno programa que contem uma lista de instruções a serem realizadas no Excel.
Uma macro pode executar um conjunto de tarefas através de um unico procedimento o qual pode
ser chamado rapidamente.

Figura 2. Janela de gravação de macro.

EXERCÍCIO

Objetivo: Gravar uma macro testando a diferença entre a execução de macros com referências absolutas
e referências relativas.

1ª Fase: Macro com Referências Absolutas Referência absoluta: em uma


fórmula, ela é o endereço exato de
1. Acione a gravação da macro. Atribua à esta o Short Key Ctrl + P uma célula, independentemente
2. Certifique-se que o botão Referência Relativa esteja desativado. da posição da célula que contém a
3. Clique na célula B3. fórmula. Uma referência de célula
4. Escreva: “Sistema de Ensino Amazon” absoluta tem a forma $A$1.
5. Formate a célula para Negrito, Itálico, tamanho 18
Referência relativa: em uma
6. Na célula B4 escreva: “Av. Mendonça Furtado” fórmula, ela é o endereço de uma
7. Na célula B5 escreva: “Santarém - Pa” célula com base na posição relativa
8. Pare a gravação da macro. da célula que contém a fórmula e a
9. Apague tudo o que escreveu nas células da coluna B. célula referenciada. Se você copiar
10. Clique na célula L8. a fórmula, a referência será
11. Agora pressione as teclas Ctrl + P automaticamente ajustada. Uma
12. O que aconteceu? referência relativa tem a forma A1.

Obs: Por motivo de segurança, quando abrimos um arquivo do Excel que contenha macros ou controles
ActiveX, o programa bloqueia a ação desses objetos. No botão Opções da faixa Aviso de Segurança
habilite sua planilha para a execução das macros.

Figura 3. Faixa de Aviso de Segurança: habilitação do projeto VBA nas planilhas.

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel

Visual Basic for Aplications

O VBA é derivado do Visual Basic. O Visual Basic é um ambiente de desenvolvimento completo, onde
podemos criar programas para o ambiente Windows.
Um programa comercial para controlar estoque de mercadorias pode ser criado utilizando o Visual
Basic.
Entretanto o VBA é uma linguagem bastante poderosa, embora não seja tão poderosa quanto o Visual
Basic, podemos usar para criação de aplicativos e automação de tarefas baseados nos aplicativos do
Microsoft Office: Access, Word, Excel,Power Point e Outlook.
É possivel acessar o editor do VBA por meio do atalho Alt+F11 ou por outra forma disponível pelo
programa.

Figura 5. Divisão do editor VBA

Esta janela é dividida em três grandes áreas: Janela Project Explorer, Janela Propriedades, e do lado direito, a
Área de trabalho.

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel

Janela Project Explorer Janela Propriedades

Figura 6.
Nesta janela poderá se visualizar a hierarquia dos
projetos de Visual Basic for Applications ativos nesse
momento. Entre eles deverá encontrar um cujo nome
corresponde ao nome de “Pasta de trabalho” (WorkBook)
Figura 7.
do Excel que você esta trabalhando.
VBAProject (Pasta1): É dentro deste projeto que deve-se Nesta janela você poderá visualizar e alterar
trabalhar para que todas as funcionalidades estejam as propriedades que d e f i n e m c a d a o b j e t o.
ativas sempre que necessário.

Janela de Edição

Sub Teste()
MsgBox "Sistema de Ensino Amazon", vbInformation, "Amazon"
End Sub

A janela de edição exibirá a cada momento o código em Visual


Basic for Applications associado ao elemento selecionado na
janela do Project Explorer.

Figura 8.

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
No VBA para inserir um formulário clique em Inserir > UserForm:

Seleção Rótulo
Caixa de Texto Caixa de Combinação

Caixa de Listagem Botão de Seleção

Botão de Opção Botão Alternar

Moldura Botão de Comando

Faixa de tabulação Multi-Página

Barras de rolagem Botão de Rotação

Imagem RefEdit
Figura 9. Formulário para criação do projeto VBA

Figura 10.

Figura 12.
Figura 11.
No item Caption, da propriedade do
UserForm, nomeie como Cadastro de Clientes.

Na planilha crie um botão (controle de formulário),


com o auxílio do botão auxiliar escolha a opção Exibir
Código, requisitando o UserForm.

Figura 14.

No item (Name), da propriedade da


caixa de texto, nomeie como TxtCliente.
Figura 13. Código de requisição do UserForm na planilha de dados

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
Cadastro de Produtos

Para iniciar a criação de nosso cadastro ,abra uma nova planilha do Excel. Primeiro incluiremos os itens
na tabela, para em seguida trabalharmos no VBA.

Figura 15. Planilha Cadastro de produtos

Inicie a criação do formulário de registro de produto. Acesse o editor do Visual Basic por meio do atalho
Alt+F11 ou outra forma disponível pelo programa.

Clique em Inserir > Userform e acrescente três caixas de texto, três rótulos, e um botão de comando
usando a caixa de ferramentas.
Botão para adicionar a Caixa de ferramentas na
Barra de Menu Padrão do VBA:

Figura 16. UserForm Cadastro de Produtos e Caixa de ferramentas

1° Código
A partir de agora iremos inserir os códigos no formulário. Dê um duplo clique sobre o formulário (UserForm).

1 Private Sub UserForm_Initialize()


2 Produto = “” Campo Produto iniciado vazio
3 Preco = Format(0, "Currency")
4 Quantidade = 0 O campo Preço mostrará dados em formato
5 End Sub Moeda e o campo Quantidade iniciará com o
valor zero

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
2° Código
Utilizado no botão “Cadastrar”
Representa a pasta de trabalho
1 Private Sub Cadastrar_Click() da janela ativa, a planilha ativa e
2 Sheets("Exercício 1").Activate a célula selecionada.
3 Range("A9").Select
4 Do A estrutura Do/Loop Until executa
5 If IsEmpty(ActiveCell) = False Then uma determinada tarefa enquanto
6 ActiveCell.Offset(1, 0).Select que a avaliação de uma condição
7 End If permaneça True ou então até que
8 Loop Until IsEmpty(ActiveCell) = True seja True (verdadeiro).
9 ActiveCell = Produto O método Offset provoca um
10 ActiveCell.Offset(0, 1) = CCur(Preco) deslocamento de um determinado
11 ActiveCell.Offset(0, 2) = CInt(Estoque) número de linhas e de colunas,
12 MsgBox "Produto cadastro com sucesso", vbInformation tendo como base o range (células
13 Unload Me absolutas selecionadas) ao qual
14 End Sub este método será aplicado.

Utilizando o painel de Propriedades (tecla de atalho F4) podemos definir os nomes para os controles e
formulários.

Definição do nome
do botão Cadastrar

Figura 18. Propriedades do UserForm Cadastrar

Agora retorne a planilha e crie um botão para requisitar o formulário desenvolvido no VBA. Utilizando a guia
Desenvolvedor, clique no item Inserir - Controles de Formulário (você pode também encontrar o botão
Inserir Controles ao lado do botão Office.

Botão desenvolvido
através de Controles
de Formulário

Requisição do UserForm no Botão:

Private Sub BtnCadastrar_Click()


Exercício_1.Show
End Sub
Figura 19. Opções para inserir o Botão de Comando

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
Entrada de Produtos

Novamente incluiremos os itens na tabela, para em seguida trabalhar no VBA.


Agora desenvolveremos um cadastro de Entrada de Produtos.

Figura 20. Planilha de entrada de produtos

Acesse o editor do Visual Basic (Alt+F11), Clique em Inserir > Userform e desenvolva o seguinte
formulário utilizando a Caixa de Ferramentas:

Figura 21. Formulário Entrada de Produtos e Caixa de ferramentas

1° Código
Utilizado no botão “Cadastrar”

1 Private Sub Cadastrar_Click() Representa a pasta de trabalho


2 Sheets("Exercício 2").Activate da janela ativa, a planilha ativa
3 Range("A9").Select e a célula selecionada.
4 Do Executa uma determinada
5 If IsEmpty(ActiveCell) = False Then tarefa enquanto que a
6 ActiveCell.Offset(1, 0).Select avaliação de uma condição
7 End If permaneça True (verdadeiro)
8 Loop Until IsEmpty(ActiveCell) = True ou então até que seja True.
9 ActiveCell = Produto
10 ActiveCell.Offset(0, 1) = CCur(Preco) Insere os dados na planilha
11 ActiveCell.Offset(0, 2) = CDate(DataCadastro) definindo o campo Preço como
12 MsgBox "Entrada concluida com sucesso",vbInformation tipo “moeda” e o campo
13 End Sub DataCadastro como tipo “data”.

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel

2º Código 3º Código
Utilizado no botão “Limpar” Utilizado no botão “Fechar”
Evento Ao clicar Evento Ao clicar

1 Private Sub Limpar_Click() 1 Private Sub Fechar_Click()


2 UserForm_Initialize 2 Unload Me
3 End Sub 3 End Sub

4º Código
Utilizado no UserForm
Dê um clique duplo no formulário para inserí-lo:
1 Private Sub UserForm_Initialize()
O campo Produto recebe o foco e
2 Produto.SetFocus
inicia em branco
3 Produto = ""
4 Preco = Format(0, "Currency") O campo Preço será definido como moeda e o
5 DataCadastro = Date campo DataCadastro apresentará a data atual
6 End Sub do sistema.

Para a utilização do Formulário na Planilha crie um botão para requisitar o UserForm:

Figura 22. Produto adicionado na planilha com o auxílio do formulário Entrada de Produtos

Experimente agora Cadastrar alguns produtos


para testar seu formulário de Entrada de Produtos !

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel

Agenda de Compromissos

Com auxilio do VBA desenvolveremos uma agenda de compromissos. Abra uma nova planilha do
Excel e inclua os itens abaixo:

Figura 23. Planilha Agenda de compromissos

Vamos agora a criação do formulário:

Clique com botão auxiliar do mouse


na caixa de ferramentas e escolha
Controle Adicionais.

Em Opções Adicionais, escolha o item Calendar Control

Figura 24. Janela de Controles adicionais

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel

Insira o controle Calendar no UserForm em seguida adicione as


caixas de texto e o botão, nomeando-os todos devidamente.

Figura 25.

Figura 26. UserForm Agenda de compromissos

Adicione o código abaixo no botão “BtnAgendar”:

1 Private Sub BtnAgendar_Click()


2 Dim Dia As String, Mes As String, Ano As String Declaração de variáveis do calendário.
3 (Uma variável é um valor que fica
4 Dia = Calendario.Day armazenado na memória do
computador enquanto o procedimento
5 Mes = Calendario.Month
está sendo executado, e declará-la
6 Ano = Calendario.Year
significa informar seu nome e o tipo de
dado que ela deve receber).
6 Sheets("Exercício 3").Activate
7 Range("A7").Select A estrutura While e Wend realiza um
8 While IsEmpty(ActiveCell) = False looping (estrutura de repetição que
9 ActiveCell.Offset(1, 0).Select permite que um determinado conjunto
9 Wend de instruções sejam executadas
10 ActiveCell = DateSerial(Ano, Mes, Dia) repetidas vezes) até que uma
11 ActiveCell.Offset(0, 1) = Gerente determinada condição seja verdadeira.
12 ActiveCell.Offset(0, 2) = Cliente O código então procura a próxima
13 ActiveCell.Offset(0, 3) = Motivo célula vazia para armazenar
14 informações..
15 Gerente.SetFocus
16 Gerente = ""
17 Cliente = "" O código limpa os controles
18 Motivo = "" e coloca o foco (SetFocus) na
19 MsgBox "Agendado", vbInformation caixa de texto Gerente
20 End Sub

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
Controle Financeiro
Iremos desenvolver um Controle Financeiro, unificando “Entrada” e “Saída” de dinheiro de forma que ele tenha
a aparência de um livro de caixa.

Figura 27. Planilha de controle financeiro

Além do UserForm e dos Controles Botão de Comando, Rótulo e Caixa de Texto, trabalharemos agora com o
Botão de opção e a Caixa de combinação. Desenvolva no VBA o formulário a seguir:

Figura 28. Formulário Controle Financeiro

1º Código
Utilizado no UserForm
Dê um clique duplo no formulário para inseri-lo:

1 Private Sub UserForm_Initialize()


2 Data = Date
3 With Descricao
4 .AddItem "Salário"
5 .AddItem "Retorno de Imvestimentos"
6 .AddItem "Despesas Diversas" O código adiciona itens a caixa de
7 .AddItem "Vestuario" combinação Descrição.
8 .AddItem "Educação"
9 .AddItem "Lazer"
10 .AddItem "Contas"
11 End With Define o formato em moeda para
12 Valor = Format(0, "Currency") o campo Valor
13 End Sub

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
2º Código
Utilizado no botão “BtnGravar”
Evento Ao clicar

1 Private Sub BtnGravar_Click() Identifica a Planilha Ativa


2 Sheets("Exercício 4").Activate e a célula selecionada.
3 Range("A7").Select A estrutura While-Wend
realiza um looping várias
4 While IsEmpty(ActiveCell) = False
vezes, até que uma
5 ActiveCell.Offset(1, 0).Select
determinada condição
6 Wend
seja verdadeira.
7 ActiveCell = Data
8 ActiveCell.Offset(0, 1) = Descricao
9 If OpcaoCred.Value = True Then
10 ActiveCell.Offset(0, 2) = "E" Identifica as opções
11 Else de “Entrada” ou “Saída”
12 ActiveCell.Offset(0, 2) = "S" A função CCur serve para
13 End If converter uma expressão
14 ActiveCell.Offset(0, 3) = CCur(Valor) em um “Currency” (o tipo
15 MsgBox "Operação realizada com sucesso", vbInformation de dados “Currency” é útil
16 End Sub para cálculos que envo-
lvam dinheiro).

Na área de trabalho da Planilha adicione


um botão para requisitar o formulário desenvolvido
no VBA:

Figura 29. Botão “Gravar”, desenvolvido com o Controle de formulário

Para encontramos o “Total de Créditos” e o “Total de Débitos”, utilizaremos a função Somase, a qual soma as
células especificadas por um determinado critério.

Sintaxe:
=SOMASE(intervalo;critérios;intervalo_soma)

Utilização na planilha:
=SOMASE(Movimento;"E ou S";Valor)

Figura 30. ( E n t r a d a ) - ( S a í d a)

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
Cadastro de Funcionários
Desenvolveremos um formulário para o cadastro de funcionários de uma determinada empresa.
Primeiramente incluiremos na planilha os itens a serem cadastrados:

Figura 31. Planilha de cadastro de funcionários

Em seguida criaremos o UserForm no VBA:

Figura 32. Formulário Cadastro de Funcionários e Caixa de ferramentas

1º Código
Utilizado no UserForm (Evento Ao Inicializar)
Dê um clique duplo no formulário para inserí-lo:
1 Private Sub UserForm_Initialize()
2 Sheets("Exercício 6").Activate
2 End Sub

2º Código
Utilizado no botão “BtnGravar” (Evento Ao Clicar)
1 Private Sub BtnGravar_Click()
2 Sheets("Exercício 6").Activate
3 Range("A6").Select
4 While IsEmpty(ActiveCell) = False
5 ActiveCell.Offset(1, 0).Select
6 Wend
7 ActiveCell = Nome
8 ActiveCell.Offset(0, 1) = Sexo
9 ActiveCell.Offset(0, 2) = Cargo
10
11 MsgBox "Funcionário cadastrado com sucesso", vbInformation
12 End Sub

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel

3º Código 4º Código
Utilizado no “BtnLimpar” (Evento Ao Clicar) Utilizado no “BtnFechar” (Evento Ao Clicar)
1 Private Sub BtnLimpar_Click() 1 Private Sub BtnFechar_Click()
2 Nome.SetFocus 2 Unload Me
3 Nome = "" 3 End Sub
4 Sexo = ""
5 Cargo = ""
7 End Sub

5º Código
Utilizado no campo “Sexo” (Evento Antes de Atualizar)
O código cria um critério de validação para a especificação do campo Sexo

1 Private Sub Sexo_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)


2 If Sexo <> "M" And Sexo <> "F" Then
3 MsgBox "Digite (M)Masculino ou (F)Feminino", vbInformation
4 Cancel = True
5 End If
6 End Sub

Como no exercício anterior


retornaremos a planilha de dados e
criaremos um botão para requisitar
o formulário desenvolvido no VBA:

Figura 33. Opção Inserir controles

Figura 34. 1 Private Sub BtnCadastro_Click()


2 Exercício_6.Show
3 End Sub

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
Manutenção de Estoque
Desenvolveremos um formulário no VBA que possa (requisitado posteriormente na planilha através de um
botão) adicionar, localizar, alterar e excluir produtos cadastrados na planilha Cadastro de Produtos (planilha 1)

Figura 35. Planilha de manutenção de estoque de produtos

Desenvolvimento do UserForm no VBA:

Figura 36. Formulário Estoque de Produtos

1º Código
Utilizado no UserForm (Evento Ao Inicializar)
Dê um clique duplo no formulário para inserí-lo:
Obs: Veja que a planilha ativada para a exibição do “UserForm” será o Exercício 1.

1 Private Sub UserForm_Initialize()


2 Sheets("Exercício 1”).Activate
2 End Sub

2º Código
Utilizado no botão “BtnLocalizar” (Evento Ao Clicar)
Obs: Me.Localiza faz referência a caixa de texto com a legenda “Localizar”.
1 Private Sub BtnLocalizar_Click()
2 On Error GoTo errei
3 Cells.Find(What:=Me.Localiza, After:=ActiveCell, LookIn:=xlFormulas, _
4 LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
5 MatchCase:=False, SearchFormat:=False).Activate
6 Produto = ActiveCell
7 Preço = Format(ActiveCell.Offset(0, 1).Value, "Currency")
8 Estoque = ActiveCell.Offset(0, 2).Value
9 Exit Sub
10 errei:
11 MsgBox "Inexistente"
12 Exit Sub
13 End Sub

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
3º Código
Utilizado no botão “BtnAdicionar” (Evento Ao Clicar)
CCur define o campo com o formato Moeda (Currency) enquanto que CInt representa valores
enumerados (Integer).

1 Private Sub BtnAdicionar_Click()


2 Sheets("Exercício 1").Activate
3 Range("A9").Select
4 While IsEmpty(ActiveCell) = False
5 ActiveCell.Offset(1, 0).Select
6 Wend
7 ActiveCell = Produto
8 ActiveCell.Offset(0, 1) = CCur(Preço)
10 ActiveCell.Offset(0, 2) = CInt(Estoque)
11
12 MsgBox "Produto cadastrado com sucesso", vbInformation
13 End Sub

4º Código
Utilizado no botão “BtnExcluir” (Evento Ao Clicar)
O método EntireRow faz referência à(s) linha(s) indicada(s ) por um determinado range (objeto singular
ou uma coleção de objetos), associada a propriedade “Delete”, resulta na exclusão do cadastro localizado.

1 Private Sub BtnExcluir_Click()


2 If Not Localiza = "" Then
3 Selection.EntireRow.Delete
4 Range("A9").Select
5 MsgBox "Cadastro excluido com sucesso", vbInformation
6 Else
7 MsgBox "Localize o produto primeiro", vbInformation
8 End If
9 End Sub

5º Código
Utilizado no botão “BtnAlterar” (Evento Ao Clicar)

1 Private Sub BtnAlterar_Click()


2 ActiveCell = Produto
3 ActiveCell.Offset(0, 1).Value = CCur(Preço)
4 ActiveCell.Offset(0, 2).Value = CInt(Estoque)
5 MsgBox "Alterado com sucesso", vbInformation
6 Localiza.SetFocus
7 Localiza = ""
8 End Sub

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
Vendas À vista e À prazo
Desenvolveremos um sistema de vendas de automóveis. Primeiramente criaremos uma tabela com os dados
dos veículos, a qual servirá posteriormente de base para o nosso Cadastro de Vendas. Nomeie sua planilha
como “Exercício 7 - Base” .

Figura 37. Planilha que servirá de base de dados para o sistema de vendas.
Através da Opção Fórmulas - Definir Nome, selecione as colunas “Nome do Automóvel”, “Ano” e “Preço” da
planilha, nomeando a seleção como “ListaVeiculos”.

Figura 38.

Figura 39.
No campo de referência utilize as funções DESLOC e CONT.VALORES:
=DESLOC('Exercício 7 - Base'!$B$9;0;0;CONT.VALORES('Exercício 7 - Base'!$B$9:$B$304);3)

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
Informações sobre as funções utilizadas:
Função Desloc

Sintaxe
DESLOC(ref;lins;cols;altura;largura)

A função DESLOC retorna uma referência para um intervalo de células. A referência retornada pode ser uma
única célula ou um intervalo de células. Você pode especificar o número de linhas e de colunas a serem
retornadas
- Ref: a referência em que se deseja basear o deslocamento. Ref deve se referir a uma célula ou intervalo de células;
caso contrário, DESLOC retornará o valor de erro #VALOR!.
- Lins: o número de linhas para o deslocamento. Pode ser para cima ou para baixo. Lins pode ser positivo (que
significa abaixo da referência inicial) ou negativo (acima da referência inicial).
- Cols: é o número de colunas para o deslocamento, tendo como base a referência inicial ( Ref ). Cols pode ser
positivo (que significa à direita da referência inicial) ou negativo (à esquerda da referência inicial).
- Altura: a altura, em número de linhas, que se deseja para a referência fornecida. Altura deve ser um número
positivo.
- Largura: a largura, em número de colunas, que se deseja para a referência fornecida. Largura deve ser um número
positivo.

Função Cont.Valores

Sintaxe
CONT.VALORES(valor1;valor2;...)

A Função CONT.VALORES calcula o número de células não vazias e os valores na lista de argumentos.
Use CONT.VALORES para calcular o número de células com dados em um intervalo ou matriz
- Um valor é qualquer tipo de informação, incluindo valores de erro e texto vazio (""). Um valor não inclui células
vazias.
- Se um argumento for uma matriz ou referência, somente os valores dessa matriz ou referência serão usados.
- As células vazias e os valores de texto da matriz ou referência são ignorados.
- Valor1; valor2;... são argumentos de 1 a 255 que representam os valores que você deseja calcular

Em outra planilha (nomeia como “Exercício 7 - Cadastro”), crie a tabela abaixo:

Figura 40.

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
No VBA desenvolva o Formulário a seguir:

TxtCliente

TxtVeiculos

TxtParcelas
TxtPreco

NumPar

BtnOk
BtnCancelar

Figura 39.

1º Código
Utilizado no UserForm (Evento Ao Inicializar)
Dê um clique duplo no formulário para inserí-lo:
O foco inicial vai para o campo “Cliente”
1 Private Sub UserForm_Initialize()
2 TxtCliente.SetFocus
3 End Sub

2º Código
Utilizado na barra de rolagem “NumPar”
(Evento Ao Alterar) Figura 40.
O procedimento do evento Change (Ao Alterar)
coordena os dados exibidos entre os controles. No item ColumnCount, da propriedade
de TxtVeiculos especifique o valor 2 para a
1 Private Sub NumPar_Change() quantidade de colunas, ocultando assim, a
2 TxtParcelas = NumPar.Value coluna de “Preços” na ListBox.
3 End Sub

3º Código
Utilizado no botão “BtnCancelar”
(Evento Ao Clicar)
1 Private Sub BtnCancelar_Click()
2 Unload Me
3 End Sub

4º Código
Utilizado no campo “TxtVeiculos” (Evento Ao Clicar)
1 Private Sub TxtVeiculos_Click()
2 TxtPreco = Format(TxtVeiculos.Column(2), "Currency")
3 End Sub

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
5º Código
Utilizado no botão “BtnOk” (Evento Ao Clicar)
Em muitos exemplos empregamos o método Offset para realizar deslocamentos em relação à célula selecionada antes
do deslocamento executado.
Exemplo da construção do código:
Objeto de referência.Offset (linhas, colunas)

1 Private Sub BtnOk_Click()


2 Sheets(8).Activate
3 Range("A8").Activate
4 While ActiveCell <> ""
5 ActiveCell.Offset(1, 0).Activate
7 Wend
8 ActiveCell = TxtCliente
9 ActiveCell.Offset(0, 1) = TxtVeiculos.Column(0)
10 ActiveCell.Offset(0, 2) = CCur(TxtPreco)
11 If Vista = True Then
12 ActiveCell.Offset(0, 3) = "A Vista"
13 Else
14 ActiveCell.Offset(0, 3) = "Financiado"
15 End If
16 ActiveCell.Offset(0, 4) = CInt(TxtParcelas)
17 ActiveCell.Offset(0, 5) = CCur(TxtPreco) / CInt(TxtParcelas)
18 MsgBox "Venda gerada com sucesso", vbInformation
19 Unload Me
20 End Sub

Com a criação dos códigos é possível observar uma maior integração entre o formulário e as planilhas de
dados desenvolvidas. Por fim, crie um botão para requisitar o formulário de vendas:

Figura 41. Uso do formulário de vendas

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon
Excel Profissional Microsoft Office

Excel
Lista de Orçamento
Desenvolveremos uma lista de orçamento onde somente algumas células são usadas para digitação:

Figura 42. Lista de orçamento

O código abaixo desenvolvido no ambiente do VBA, controla a entrada de valores nas células a4 a c4,
adicionando os dados valores colocando-os na primeira linha vazia da lista de orçamento:
1 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
2 Dim Linhas As Long
3 Dim Colunas As Integer
4 Dim Fim As Label
5
6 'Resultado da CheckBox para interrupção de entrada
7 'de valores e leitura da Lista
8 If Range("F1").Text <> "FALSO" Then GoTo Fim
9 If Target.Address <> "$A$4" And Target.Address <> "$B$4"
10 And Target.Address <> "$C$4" Then
11 'A instrução Select Case é uma instrução de tomada de decisão
12 Select Case Target.Column
13 Case 1 ' Coluna A
14 Range("B4").Select
15 Case 2 ' Coluna B
16 Range("C4").Select
17 Case 3 ' Coluna C
18 Range("A4").Select
19 If Range("$A$4").Text <> "" And Range("$B$4").Text <> "" And
20 Range("$C$4").Text <> "" Then
21 Linhas =
22 Application.WorksheetFunction.CountA(Sheets(9).Range("$A$7:$A$35000"))
23 For Colunas = 0 To 2
24 Range("A7").Offset(Linhas, Colunas).Value =
25 Range("A4").Offset(0, Colunas).Text
26 Next Colunas
27 Range("A4:C4").Value = ""
28 End If
29 Case Else
30 Range("A4").Select
31 End Select
32 End If
33 Fim:
34 End Sub

Av. Mendonça Furtado, 2475 - Aldeia - Fone: (93) 3523-3002


www.portalamazon.com
Sistema de Ensino Amazon

Microsoft Excel
Profissional com VBA
Gerente de Produção: Rosivaldo Pires Martins
Coordenador de Marketing: Raimundo Pires Martins
Autores: Aloísio Barros e Marcelo Meireles
Diagramação: Marcelo Meireles
Revisão Técnica: Nadir Pires Martins
Revisão Ortográfica: Darliane Aguiar
Capa: Aloísio Barros

Você também pode gostar