Prévia do material em texto
unidade 5
Formulários avançados
e funções de
programação
Senac - Serviço Nacional de Aprendizagem Comercial
Diretoria Regional
Divisão de Educação e Tecnologia - DITEC
Coordenadoria de Educação a Distância - CED
B 184
BALESTRIN, Cláudio Luiz.
Excel 2010 : recursos avançados / Cláudio Luiz Balestrin ... [et al.] ; Roberson
de Lima, coordenador. – Curitiba : Senac. Divisão de Educação e Tecnologia.
Coordenadoria de Educação a Distância, 2014.
1. Excel (Programa de computador). 2. Informática. I. Lima, Roberson de.
II. Título.
CDD 005.36
Catalogação: Silvia Cristina das Chagas e Silva CRB-9 / 1105
Esta obra está protegida quanto aos direitos autorais e editoriais. A reprodução total ou
parcial de seu conteúdo é permitida somente para fins educacionais e culturais, desde que
citada a fonte.
Produção de texto: Cláudio Luiz Balestrin
Elaboração de conteúdo: Lilian de Almeida Ribeiro
Design Instrucional: Lilian Noguchi
Edição e Revisão: Fernanda Fenili de Santana
Coordenação: Roberson de Lima
Projeto Gráfico e Diagramação: Elizabeth Ratzke; Claudia Araújo Godinho
Eixo: Informação e Comunicação
3
EXCEL 2010 – RECURSOS AVANÇADOS
1. Criar fórmula matricial
Em Excel, quando uma fórmula utiliza um intervalo de células (matriz), e não somente uma célula
como referência a ser analisada, ela é chamada de matricial. Uma fórmula matricial faz cálculos
múltiplos e, em seguida, produz um único resultado ou múltiplos resultados.
No exemplo abaixo, na matriz A2:B6, todos os números acima de 25 são multiplicados por 5 na
coluna E.
Agora é com você!
CRIAR FÓRMULA MATRICIAL
Prática 1
Situação: Em uma matriz, todos os números acima de 25 são multiplicados por 5.
Para obter os resultados, siga as instruções abaixo:
1) Abra o arquivo matricial_exemplo.xlsx.
unidade 5
Formulários avançados
e funções de
programação
4
EXCEL 2010 – RECURSOS AVANÇADOS
2) Clique na célula C2, digite a fórmula =A2+B2, pressione Enter e arraste
(copie) a fórmula até a célula C6.
3) Selecione o intervalo D2:D6 e digite a função matricial =A2:A6+B2:B6 e,
imediatamente após, pressione as teclas Shift + Ctrl + Enter. Explicando a
fórmula: cada célula no intervalo D2:D6 retorna o cálculo da soma entre a
Coluna A e a Coluna B.
4) Selecione o intervalo E2:E6 e digite a função matricial =(A2:B6>25)*A2:A6*5
e, imediatamente após, pressione Shift + Ctrl + Enter. Nesse cálculo, primei-
ramente, o Excel analisa a matriz A2:B6 para identificar os números maiores
do que 25. O retorno dessa análise é: 0 para FALSO e 1 para VERDADEIRO.
Por exemplo: o Excel identificou que o valor 52 da célula A4 é maior do que 25, ou
seja, (VERDADEIRO = 1). Assim sendo, multiplicou o valor VERDADEIRO “1” pelo
valor “52” e o resultado multiplicou por “5”.
Atenção!
Ao digitar uma função matricial é necessário sempre concluir a fórmula utilizando
as teclas Shift + Ctrl + Enter. Se for necessário editar a função, pressione F2 e fina-
lize com Shift + Ctrl + Enter. Observa-se que após pressionar essas teclas a função
aparece entre chaves na barra de fórmulas; entretanto, ao digitar a fórmula não é
necessário digitar os símbolos { e }. O Excel os coloca automaticamente.
5
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
Prática 2
Situação: Em um órgão público necessita-se calcular a aposentadoria a ser paga aos
servidores. A legislação estabelece que o valor a pagar deve ser a média dos oitenta
por cento dos maiores salários corrigidos desde julho de 1994. Nesse caso, é neces-
sário realizar a soma dos últimos maiores salários do servidor e esses dados devem
estar na ordem decrescente.
Vamos criar uma planilha de salários hipotética. Para isso, siga as instruções
a seguir:
1) Abra o Excel e digite a seguinte planilha:
2) Coloque os números na ordem decrescente.
3) Analise o seguinte: é necessário somar 80% dos maiores salários (já or-
denados), ou seja, queremos que os 16 primeiros salários sejam somados (16
refere-se a 80% do total de 20 salários). Assim, na célula A21, digite a seguinte
fórmula: =SOMA((LIN(A1:A20)<=16)*A1:A20) e, imediatamente após, pressio-
ne as teclas Ctrl + Shift + Enter.
6
EXCEL 2010 – RECURSOS AVANÇADOS
4) Para obter a média dos oitenta por cento dos maiores salários, basta dividir
o total do valor da célula A21 por 16. Veja na figura abaixo uma planilha de
exemplo desta prática:
2. Criar controles de formulário
Na Unidade 3 – Recursos Avançados: parte 2, você conheceu o formulário de dados, incluiu esse
recurso na faixa de opções do Excel e realizou algumas atividades práticas.
Nesta unidade, você conhecerá outro recurso útil para formulário: o controle giratório. Mas, antes,
é necessário habilitar a guia Desenvolvedor, que disponibiliza o comando. Confira o passo a passo
para fazer isso!
Habilitar a guia Desenvolvedor
Para habilitar a guia Desenvolvedor e, assim, utilizar os controles de formulário, siga estes passos:
1) Clique em Arquivo e em Opções.
7
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
2) Na janela Opções do Excel, clique em Personalizar Faixa de Opções, no painel localizado
à esquerda. Depois, selecione a caixa de seleção Desenvolvedor em Guias Principais, no item
Personalizar a Faixa de Opções. Para finalizar, clique em OK.
3) Observe que a guia Desenvolvedor foi incluída na faixa de opções, após a guia Exibição.
4) Para acessar o comando Controle Giratório , clique na guia Desenvolvedor, no grupo
Controles e, depois, em Inserir.
8
EXCEL 2010 – RECURSOS AVANÇADOS
Agora é com você!
CRIAR CONTROLES DE FORMULÁRIOS.
Prática 1
Situação: Uma empresa possui três filiais e faz um controle de vendas. A empresa
precisa saber o preço de venda dos itens de papelaria das suas filiais Centro, Abran-
ches e Batel, conforme margem de lucro.
1) Abra o arquivo formularios_exercicio.xlsx.
2) Clique na guia Desenvolvedor, no grupo Controles e, depois, em Inserir. Em
seguida, clique no Botão de Rotação (Controles de Formulário) e depois clique
em qualquer local da planilha para inserir o botão .
3) Vamos criar um controle para calcular o Preço de Venda da filial Centro,
conforme margem de lucro selecionada no botão de rotação. Clique no Botão
de Rotação utilizando o botão direito do mouse para aparecer o menu e de-
pois clique na opção Formatar controle... para aparecer a janela. No item Va-
lor atual digite 0 – refere-se ao valor que está sendo mostrado ao pressionar
o botão; no item Valor mínimo digite 0 – refere-se ao menor valor que o botão
deverá apresentar; em Valor máximo digite 100 – refere-se ao maior valor que
o botão deverá apresentar; em Alteração incremental digite 1 – refere-se ao
incremento que o botão terá ao ser clicado; em Vínculo da célula, selecione a
célula C6 – refere-se à célula que terá um valor a ser gerado.
4) Para testar o controle, clique nos botões e . Observe a alteração de
valores na célula C6 e na coluna C.
9
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
5) Agora, crie os controles giratórios para as outras filiais: Abranches e Batel.
Atenção!
Devido ao controle de rotação e os demais controles não aceitarem valores fracio-
nários, a fórmula na célula C4=C6/100 deverá ter formato de porcentagem. Desse
modo, ao pressionar o botão controle giratório, o número será alterado e, por conse-
guinte, o valor da porcentagem também, pois está se referindo à célula.
Saiba Mais
É possível excluir o controle pressionando a tecla Delete. Para movê-lo, arraste-o
com o mouse até o novo local e dimensione-o por meio das alças de edição existentes
(quadradinhos brancos a redor do objeto). Caso você tenha tirado a seleção sobre o
controle, dê um clique sobre o objeto utilizando o botão direito do mouse e aparece-
rá o menu referente ao objeto.
Prática 2
Vamos criar o formulário abaixona planilha Form. Para isso, abra o arquivo formu-
larios_exercicio.xlsx e siga os passos abaixo:
10
EXCEL 2010 – RECURSOS AVANÇADOS
Criar botões
1) Clique na guia Desenvolvedor, no grupo Controles e, depois, em Inserir. Em
seguida, clique no Botão (Controles de Formulário) e depois clique em
qualquer local da planilha.
2) Ao abrir a janela Atribuir macro, clique em Cancelar.
3) No botão criado, digite Produto e clique em qualquer área da planilha.
4) Clique no botão Produto, copie (Ctrl + C) e cole (Ctrl + V) seis vezes para
criar os demais botões: Estoque, Custo, Venda, Prestações, Pedido e A Pagar.
Criar Caixa de Combinação
5) A Caixa de Combinação listará os sete itens de produtos. Clique na guia
Desenvolvedor, no grupo Controles e, depois, em Inserir. Em seguida, clique
no botão Caixa de Combinação (Controles de Formulário) e depois clique
em qualquer local da planilha para inserir o botão . Configure os campos
Intervalo de entrada, Vínculo da célula e Linhas suspensas conforme mostra
a imagem abaixo. Atenção: os dados selecionados estão na planilha Tabelas.
11
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
• Intervalo de entrada: lista contendo os elementos do controle; poderá ser
digitado, por exemplo, caneta, borracha, ou ainda, inserir o nome de uma
área que a lista possui. Neste caso, a área se chama MODELOS.
• Vínculo da célula: ao selecionar o produto, o Excel vai exibir o número da
opção correspondente. Por isso, esse valor deve ser guardado em uma
célula à parte, pois será utilizado para pesquisar o preço e o estoque do
produto.
• Linhas suspensas: o Excel exibe o número de itens na lista. Se houver um
número menor do que os existentes, aparecerá uma barra de rolagem.
• Sombreado 3D: serve para atribuir um efeito tridimensional (3D) ao bo-
tão.
Exibir estoque
6) Vamos exibir a quantidade em estoque no formulário. Essa quantidade irá
variar de acordo com o produto escolhido, portanto, ao fazer essa escolha,
o número da linha correspondente aparecerá na célula G2 (célula de vínculo
de produtos).
7) Para localizar o estoque, é necessário verificar qual a linha a ser pesqui-
sada, ou seja, qual o produto escolhido dentro da área chamada ESTOQUE.
Portanto, o melhor a fazer é utilizar a função =ÍNDICE(área a localizar; linha;
12
EXCEL 2010 – RECURSOS AVANÇADOS
coluna). Nesse caso não será necessário indicar a coluna, somente a área e a
linha. Assim, a fórmula será =ÍNDICE(ESTOQUE;Tabelas!G2).
Criar um grupo de opções
8) Vamos criar um grupo para selecionar as filiais. Clique na guia Desenvol-
vedor, no grupo Controles e, depois, em Inserir. Em seguida, clique no botão
Caixa de Grupo (Controles de Formulário) . Clique em qualquer área da
planilha e ajuste o retângulo da caixa do grupo.
9) Crie três botões de opção, um para cada filial. Clique na guia Desenvolve-
dor, no grupo Controles e, depois, em Inserir. Em seguida, clique no Botão
de Opção (Controles de Formulário) . Para digitar o nome, após criar os
botões, você pode clicar em cada botão utilizando o botão direito do mouse
para aparecer o menu. Depois, clique na opção Editar Texto.
Exibir preço de custo
10) Posicione o cursor na célula definida para exibir o preço de custo do pro-
duto.
11) Para obter qual o custo do produto, é necessário obter as informações
fornecidas pelo usuário, pois o produto é escolhido por ele. A resposta é ar-
mazenada na célula G2 da planilha Tabelas. Assim, a fórmula a ser digitada é:
=ÍNDICE(CUSTO;Tabelas!G2).
13
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
Exibir o preço de venda
12) Posicione o cursor na célula definida para exibir o preço de venda do pro-
duto.
13) Para obter o preço de venda, é necessário especificar qual o modelo
(Tabelas!G2) e qual o lugar de origem ou filial (Tabelas!G3), assim, a fórmula
a ser digitada é: =ÍNDICE(VENDAS;Tabelas!G2;Tabelas!G3).
Criar a barra de rolagem
14) É preciso criar uma barra de rolagem na qual o usuário deverá escolher a
quantidade de prestações. Clique na guia Desenvolvedor, no grupo Controles
e, depois, em Inserir. Em seguida, clique no botão Barra de Rolagem (Contro-
les de Formulário) e ajuste o botão.
15) Para ativar as propriedades da barra de rolagem, clique nela utilizando o
botão direito do mouse para exibir o menu e selecione Formatar controle...
Preencha os campos com os valores conforme mostrado na imagem a seguir:
Informar a quantidade do pedido
16) O usuário deverá informar a quantidade do pedido. Para isso, é necessário
validar a célula para que o valor do pedido seja sempre <= ao valor do esto-
14
EXCEL 2010 – RECURSOS AVANÇADOS
que. Assim, posicione o cursor na célula D15, local onde irá aparecer o valor
do pedido.
17) Acesse a guia Dados e no grupo Ferramentas de Dados escolha a opção
Validação de Dados. No item Permitir, escolha Personalizado. No item Fórmu-
la digite =E(D17<=D7).
18) Clique na aba Mensagem de entrada e digite no campo de mesmo nome: O
valor do pedido deverá sempre ser menor que a quantidade do Estoque. Para
finalizar, clique em OK.
Calcular valor a pagar
19) Vamos utilizar a função PGTO, cuja sintaxe é PGTO(taxa, nper, pv, [fv],
[tipo]), e a função SE. Posicione o cursor na célula onde deverá aparecer o valor
a ser pago e digite: =SE(Tabelas!G4;D12*D19;PGTO(3,5%;D15;-D19*D12))
Criar caixa de seleção
20) Clique na guia Desenvolvedor, no grupo Controles e, depois, em Inserir.
15
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
Em seguida, clique no botão Caixa de Seleção (Controles de Formulário) .
Depois, clique na planilha no local indicado para inserir a caixa.
21) Digite na caixa: À vista e clique nela com o botão direito do mouse para
acessar a opção Formatar controle e abrir a janela de configuração.
22) Na janela Formatar Objeto, configure conforme mostrado na imagem a
seguir:
23) O resultado final da tabela é este:
3. Criar macros
Você já ouviu falar de macro no contexto de planilhas eletrônicas? Ela é uma série de instruções
agrupadas em um único comando para automatizar tarefas frequentemente realizadas em pastas
de trabalho ou planilhas, sejam elas simples ou complexas.
As macros são criadas de modo manual, mas os códigos de programação são gerados automati-
camente. Antes de criar uma macro é importante planejar como ela será usada. Existem três tipos
de macros: macros de comandos, macros de funções definidas pelos usuários e macros de
sub-rotina.
16
EXCEL 2010 – RECURSOS AVANÇADOS
Macros de comando: São macros que utilizam gravações de comandos, geralmente de menu.
O procedimento funciona como se executassem os mesmos comandos várias vezes em uma
pasta de trabalho.
Macros de funções definidas pelo usuário: São macros que permitem ao usuário criar sua
própria função.
Macros de sub-rotina: São macros que utilizam macros de comando e de funções. A macro
de sub-rotina pode ser executada dentro de outras macros. Assim, minimiza o uso de tarefas re-
petitivas, deixando o código de programação mais leve.
Agora é com você!
CRIAR MACROS
Prática 1 – Macro de comando
Situação: Criar uma macro para centralizar texto. Observação: essa prática tem
como objetivo criar uma macro simples para exercitar os procedimentos de gravar e
parar gravação; em uma rotina de trabalho não seria uma macro necessária.
Criar nome da macro
1) Abra o Excel e utilize uma planilha em branco.
2) Clique na célula A1.
3) Acesse a guia Exibição e no grupo Macros clique no botão para exibir as
opções. Escolha a opção Gravar Macro... para abrir a caixa de diálogo.
4) No item Nome da macro, digite o nome: Centralizar.
5) No item Descrição é possível criar um pequeno texto descrevendo o proce
dimento. Digite: Centralização de texto.
6) Para finalizar, pressione OK.
17
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
Atenção!
• Por padrão, o nome de uma macro não poderá iniciar com número e nem terespaços em branco entre as palavras.
• Ao criar uma macro é possível configurá-la para ser acionada por meio de uma
tecla de atalho. Na janela Gravar macro, basta digitar o caractere que será utili-
zado juntamente com a tecla Ctrl.
Gravar macro
Após criar o nome da macro, irá aparecer um botão na barra inferior. Ele indica que
a partir deste momento todos os comandos clicados serão gravados na macro e, ao
ser clicado, tem a função de parar a gravação.
1) Com o cursor posicionado na célula A1, acesse a guia Página Inicial, grupo
Alinhamento, e clique no botão Centralizar .
2) Clique no botão Parar Gravação.
Executar macro
1) Digite os seguintes dados nas células:
• B1: casa;
• B2: escola;
• B3: amor;
2) Selecione o intervalo B1:B3.
3) Acesse a guia Exibição e no grupo Macros clique no botão Macros para
abrir a caixa de diálogo que lista os nomes das macros criadas e os comandos
disponíveis.
18
EXCEL 2010 – RECURSOS AVANÇADOS
4) Clique na macro Centralizar.
5) Clique no botão Executar. O Excel irá centralizar o texto nas células sele-
cionadas.
Visualizar listagem completa da macro
1) Acesse a guia Exibição e no grupo Macros escolha a opção Macros.
2) Clique no botão Editar para exibir os códigos da macro na janela do Visual
Basic Applications, com todas as ações executadas durante o processo de
gravação.
19
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
4. Macros no Visual Basic
As macros criadas no Excel utilizam a linguagem de programação Visual Basic que possui um am-
biente de edição de macros incluindo:
• um editor de código;
• um pesquisador de objeto hierárquico;
• um depurador;
• uma janela de propriedades;
• um explorer de projeto para visualizar e organizar os códigos e objetos nos projetos.
Visual Basic é uma linguagem de programação para aplicativos da Microsoft.
As macros em Visual Basic apresentam as seguintes características:
• linhas de comentários
• comandos
• código fonte do procedimento
LINHAS DE COMENTÁRIOS
As linhas de comentários são as linhas do código de programação iniciadas por apóstrofo (‘). Essas
informações não são executadas na macro e, por padrão, incluem:
• O nome da macro;
• A data de criação da macro;
• Nome de quem criou a macro;
• A descrição.
20
EXCEL 2010 – RECURSOS AVANÇADOS
COMANDOS
O comando Sub indica o início de um procedimento de comandos e End Sub indica o fim. Os dois
comandos são chamados de Procedimentos Sub.
Se o procedimento for do tipo função definida pelo usuário, ao invés das palavras-chave Sub e
End Sub serão apresentados estes nomes: Function e End Function.
O nome do procedimento é apresentado à frente da palavra-chave seguido de parênteses, os quais
são obrigatórios.
CÓDIGO FONTE DO PROCEDIMENTO
O código fonte do procedimento representa toda a ação que o programa executará. Ele está distri-
buído em duas rotinas com as palavras-chave With e End With.
Rotinas de programação são um conjunto de ações que realizam uma tarefa específica.
21
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
5. Níveis de segurança de macro
Ao executar macros no Excel, a seguinte notificação pode ser exibida na barra de mensagens: “Avi-
so de Segurança. As macros foram desabilitadas.”
Isso ocorre devido ao nível de segurança usado para proteger o arquivo contra um vírus que
pode ser executado por meio da macro. Assim, é importante personalizar as opções da Central de
Confiabilidade de maneira que bloqueie arquivos indesejáveis.
JANELA CENTRAL DE CONFIABILIDADE
Para definir esse nível de segurança, siga este procedimento e conheça outras precauções úteis
quando for executar macros.
DEFINIR NÍVEL DE SEGURANÇA
Para definir nível de segurança de macro realize os seguintes passos:
1) Abra a guia Desenvolvedor e no grupo Código escolha a opção Segurança de Macro.
22
EXCEL 2010 – RECURSOS AVANÇADOS
2) O Excel irá abrir a janela Central de Confiabilidade com as opções de configurações
de macro. Confira a descrição dos níveis de segurança para escolher qual é a configuração
mais adequada.
DESCRIÇÃO DOS NÍVEIS DE SEGURANÇA DE MACRO
1) Desabilitar todas as macros sem notificação: somente as macros instaladas em
locais confiáveis serão executadas; as macros assinadas e não assinadas digitalmente serão
desativadas. Todas as macros podem estar desativadas; para isso, configure o nível de se-
gurança como Desabilitar todas as macros sem notificação e, ao mesmo tempo, desative as
macros instaladas em locais confiáveis (na guia Desenvolvedor, no grupo Código,
clique em Segurança de Macro; na janela que abrir, escolha a opção Locais Confiáveis
e habilite o item Desabilitar Todos os Locais Confiáveis).
Observação: você também pode desabilitar Documentos Confiáveis, habilitando essa op-
ção na janela Central de Confiabilidade.
2) Desabilitar todas as macros com notificação: desabilita macros assinadas e não
assinadas. As macros são automaticamente desabilitadas e o arquivo é aberto, porém, um
aviso de segurança é emitido e o usuário tem a possibilidade de habilitar a macro.
DESCRIÇÃO DOS NÍVEIS DE SEGURANÇA DE MACRO
3) Desabilitar todas as macros, exceto as digitalmente assinadas: desabilita somen-
te as macros não assinadas, mas serão apresentados alertas de segurança se houver macros.
4) Habilitar todas as macros (não recomendado; códigos possivelmente perigosos
podem ser executados): quando a segurança é definida como baixa, todas as macros são
tratadas da mesma maneira, independentemente da origem ou do status do certificado di-
gital. Com baixa segurança, nenhum aviso ou validação de assinatura é exibido e as macros
são automaticamente ativadas. Utilize essa configuração somente se todas as macros em
seus arquivos forem de fontes confiáveis.
23
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
PRECAUÇÕES AO EXECUTAR MACROS
Como as macros podem conter vírus, sempre tenha cuidado ao executá-las e realize estas precauções:
• Execute um programa antivírus com versão atualizada no computador;
• Ative as notificações de macros (níveis de segurança configurados na Central de Confia-
bilidade);
• Desmarque a caixa de seleção Confiar no acesso ao modelo de objeto do projeto
do VBA:
1. Clique no Botão do Microsoft Office e depois em Opções do Excel.
2. Clique em Central de Confiabilidade, clique em Configurações da Central de
Confiabilidade e depois em Configurações de Macro.
3. Desmarque a caixa de seleção:
• Utilize assinaturas digitais.
A assinatura digital é uma marca de autenticação eletrônica ̶ criptografada ̶ sobre informações di-
gitais, como mensagens de e-mail, macros ou documentos eletrônicos. A assinatura confirma se as
informações são originárias do signatário e não foram alteradas. A imagem a seguir é um exemplo
de uma linha de assinatura:
Agora é com você!
NÍVEIS DE SEGURANÇA DE MACRO
Para testar um nível de segurança de macro, realize os seguintes passos:
1) Abra o arquivo Macro_seguranca_alto.xlsm. Há uma macro na planilha e o
nível de segurança padrão do Excel é Desabilitar todas as macros com notifi-
cação. Assim, exibirá esta mensagem:
24
EXCEL 2010 – RECURSOS AVANÇADOS
2) Clique em Habilitar Conteúdo na barra de mensagens.
3) Agora, vamos executar a Macro. Digite as seguintes informações nas célu-
las:
• A1: Teste;
• A2: Excel;
• A3: Fórmulas.
4) Selecione o intervalo A1:A3.
5) Acesse a guia Exibição e no grupo Macros escolha a opção Macros para
abrir a janela. Ela exibe os nomes das macros criadas e os comandos dispo-
níveis.
6) Clique o botão Executar. O Excel irá centralizar as palavras Teste, Excel e
Fórmulas.
6. Botão para executar macros
Na última atividade prática você executou uma macro, acessando-a por meio da janela Macros,
disponível na guia Exibição, no grupo Macros. Agora, imagine que você tenha que realizar esse
caminho todas as vezes que for executar uma macro. Seria bem cansativo, concorda?
Para facilitar a execução de macros, é possível atribuir teclas de atalho ou,ainda, criar botões
de execução na Faixa de Opções e na Barra de Ferramentas de Acesso Rápido. Acesse a
atividade prática para saber como criá-los.
25
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
Agora é com você!
BOTÃO PARA EXECUTAR MACROS
Vamos criar um botão para executar a macro Centralizar. Para isso, realize as se-
guintes instruções:
1) Abra o arquivo do Macro_botao.xlsm.
2) Ao exibir o Aviso de Segurança na barra de mensagens, clique no botão
Habilitar Conteúdo.
3) Acesse o menu Arquivo, clique em Opções para abrir a janela e clique em
Barra de Ferramentas de Acesso Rápido. No item Escolher comandos em,
escolha a opção Macros para exibir uma lista de macros.
4) Clique no nome da macro centralizar.
5) Clique no botão Adicionar. Observe que a macro centralizar agora também
aparece no item Personalizar Barra de Ferramentas de Acesso Rápido, na
coluna à direita.
26
EXCEL 2010 – RECURSOS AVANÇADOS
6) Clique em OK para fechar a caixa de diálogo Opções do Excel. Observe que
o botão criado (botão centralizar) aparece na Barra de Ferramentas de Aces-
so Rápido, no canto superior esquerdo.
7) Selecione o intervalo A1:A4 e clique no botão centralizar. Observe que as
palavras ficaram centralizadas.
8) Para fazer outro teste, com o intervalo A1:A4 ainda selecionado, acesse a
guia Página Inicial, grupo Alinhamento, clique no botão Alinhar texto à es-
querda e, depois, clique no botão centralizar.
9) Na Barra de Ferramentas de Acesso Rápido, clique com o botão direito do
mouse sobre o botão centralizar e escolha a opção Personalizar Barra de Fer-
ramentas de Acesso Rápido.
27
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
10) No item Escolher comandos em, selecione o botão centralizar e depois
clique no botão Modificar... para abrir a janela.
11) Na janela Modificar Botão, escolha uma imagem para o botão para per-
sonalizá-lo e clique em OK. Também é possível alterar o nome do botão no
campo Nome para exibição.
28
EXCEL 2010 – RECURSOS AVANÇADOS
7. Macros de endereços absoluto e relativo
Quando se utiliza o gravador para gerar um procedimento, este por padrão define os endereços das
células como absolutos, ou seja, toda vez que você aciona o procedimento, este será executado na
mesma posição.
Havendo a necessidade de execução de um procedimento ocorrer em outras células da mesma pla-
nilha, será então necessário utilizar o endereço relativo.
Agora é com você!
MACROS DE ENDEREÇOS ABSOLUTO E RELATIVO
Prática 1: macro usando endereço absoluto
Realize as seguintes instruções:
1) Abra uma nova pasta de trabalho.
2) Vamos gravar a macro. Acesse a guia Exibição, grupo Macros, clique em
Macros. Depois clique no botão para expandir o menu. Clique em Gravar
Macro...
3) No campo Nome da macro, digite a palavra Absoluto.
4) No campo Tecla de atalho, digite a letra B (em maiúsculo). A tecla de atalho
para ativar a macro é Ctrl + Shift + B.
5) No item Armazenar macro em, mantenha selecionada a opção Esta pasta
de trabalho.
6) No campo Descrição, digite a frase Endereço absoluto. A janela Gravar
macro ficará preenchida, conforme mostra a seguinte imagem:
29
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
7) Clique no botão OK para fechar a janela.
8) Agora, vamos digitar alguns dados para testar a macro Absoluto. Clique na
célula A1 e digite o nome Senac/UEAD
9) Clique na célula B1 e digite 3219-4892.
10) Em seguida, clique na célula C1 e digite Andrea Farias.
11) Agora, vamos parar a gravação. Clique na célula A1 e clique no botão Parar
Gravação, localizado na barra inferior, ou na guia Exibição, grupo Macros,
clique em Macros e, depois, em Parar gravação.
12) Clique em qualquer célula e pressione as teclas <Ctrl> + <Shift> + B.
Observe que a tela permanece igual, porque a macro foi gravada no modo
Absoluto.
13) Confira o código da macro:
Sub Absoluto()
‘
‘ Absoluto Macro
‘ Endereço absoluto
‘‘ Atalho do teclado: Ctrl+Shift+B
‘
Range(“A1”).Select
ActiveCell.FormulaR1C1 = “Senac/UEAD”
Range(“B1”).Select
ActiveCell.FormulaR1C1 = “3219-4892”
Range(“C1”).Select
ActiveCell.FormulaR1C1 = “Andrea Farias”
Range(“A1”).Select
End Sub
14) O comando Range(“A1”).Select significa que a célula A1 será selecionada.
Prática 2: macro usando endereço relativo
Siga os passos abaixo:
1) Apague as informações digitadas na planilha e clique na célula A1.
2) Vamos gravar a macro. Acesse a guia Exibição e, no grupo Macros , clique
em Macros e, depois, em Gravar Macro... para abrir a janela.
3) No campo Nome da macro digite a palavra Relativo.
4) No campo Tecla de atalho digite a letra R (em maiúsculo). A tecla de atalho
para ativar a macro é Ctrl + Shift + R.
5) No item Armazenar macro mantenha selecionada a opção Esta pasta de
trabalho.
6) No campo Descrição digite Endereço relativo. A janela Gravar macro ficará
preenchida conforme mostra a seguinte imagem:
30
EXCEL 2010 – RECURSOS AVANÇADOS
7) Clique no botão OK para fechar a janela.
8) Acesse a guia Macros e no grupo Macros clique no botão para expandir
o menu. Depois, clique no botão Usar Referências Relativas. Isso irá habilitar
o uso de referência relativa.
9) Clique na célula A1 e digite Senac/UEAD.
10) Clique na célula B1 e digite 3219-4892.
11) Em seguida, clique na célula C1 e digite Andrea Farias.
12) Depois, clique na célula A1 e clique no botão Parar gravação.
13) Nas células A1, A4, A6 e A10 pressione as teclas <Ctrl> + <Shift> + R em
cada uma delas. Observe que a macro executa a macro em todas essas posi-
ções.
14) Confira o código da macro:
Procedimento Sub Relativo
Sub Relativo ()
‘
‘ Relativo Macro
‘ Endereço relativo
‘
‘ Atalho do teclado: Ctrl+Shift+R
31
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
‘
ActiveCell.Select
ActiveCell.FormulaR1C1 = “Senac/UEAD”
ActiveCell.Offset(0, 1).Range(“A1”).Select
ActiveCell.FormulaR1C1 = “3219-4892”
ActiveCell.Offset(0, 1).Range(“A1”).Select
ActiveCell.FormulaR1C1 = “Andrea Farias”
ActiveCell.Offset(0, -2).Range(“A1”).Select
End Sub
15) O comando ActiveCell.FormulaR1C1 = “Senac/UEAD”significa que na
célula ativa será digitado “Senac/UEAD”. O comando ActiveCell.Offset(0,
1).Range(“A1”).Select irá avançar uma coluna. E o comando ActiveCell.Formu-
laR1C1 = “3219-4892” irá digitar na célula ativa “3219-4892”.
8. O ambiente Visual Basic for Applications
Para criar funções e planilhas personalizadas, o Excel dispõe de um ambiente de desenvolvimento
chamado de Visual Basic for Applications (VBA). O VBA é um aplicativo implementado do Visual
Basic incorporado em todos os programas do Microsoft.
No VBA há três áreas principais divididas em janelas: projeto, propriedades e código. Elas po-
dem estar exibidas ou ocultas na tela.
Janela Projeto
A janela Projeto exibe uma lista dos projetos e de todos os itens que fazem parte, por exemplo,
formulários e módulos.
32
EXCEL 2010 – RECURSOS AVANÇADOS
Essa janela possui três botões de visualização: Exibir código, Exibir objeto e Alternar
pastas.
Janela Propriedades
A janela Propriedades lista as propriedades da fase de projeto dos objetos selecionados e suas
definições atuais.
Essa janela possui a caixa objeto, que lista o objeto selecionado e as guias alfabético e categori-
zado.
Alfabético: Essa guia apresenta em ordem alfabética uma lista de todas as propriedades do
objeto selecionado. Para alterar a definição da propriedade, selecione o nome da propriedade e
digite ou selecione uma nova definição.
Categorizado: Essa guia apresenta por categoria uma lista de todas as propriedades do objeto
selecionado. Nessa guia é possível expandir ou reduzir a lista; basta alternar entre os sinais +
ou -.
33
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
Janela Código
Por meio da janela Código é possível gravar, exibir e editar o código. A janela Código pode ser aberta
a partir de: Projeto, Módulos ou Formulário. Na imagem abaixo observe os elementos disponíveis
na janela:Caixa Objeto, Caixa Procedimento, Barra de Divisão e Botões de Visualização:
Caixa Objeto: Exibe o nome do objeto selecionado.
Caixa Procedimento: Lista todos os eventos exibidos na Caixa Objeto. Quando estiver sele-
cionado Geral na Caixa Objeto, a Caixa Procedimento listará as declarações e todos os procedi-
mentos gerais que foram criados.
Barra de Divisão: Quando a Barra de Divisão é arrastada, a janela Código é dividida em dois
painéis horizontais que podem ser rolados de modo independente.
Botões de Visualização: O botão Exibir procedimento mostra o procedimento selecionado e
o botão Exibir módulo completo mostra todo o código do módulo.
Agora é com você!
O AMBIENTE VISUAL BASIC FOR APPLICATIONS
Vamos criar uma macro simples para alterar a cor de células selecionadas. Para isso,
siga os passos a seguir:
1) Abra uma nova pasta de trabalho no Excel.
2) Abra o Visual Basic for Applications: acesse a guia Desenvolvedor e no
grupo Código clique em Visual Basic.
34
EXCEL 2010 – RECURSOS AVANÇADOS
3) Para criar a macro é necessário inserir um módulo. Na janela VBA acesse
o menu Inserir e clique em Módulo.
4) Na janela Código vamos criar a macro.
5) Digite os seguintes comandos na janela Código:
Sub Cor()
‘ Cor Macro
Selection.Font.ColorIndex = 3
End Sub
6) Agora retorne ao Excel. Clique no botão Exibir Microsoft Excel, localizado
abaixo do menu Arquivo.
7) No Excel digite algumas palavras em uma ou mais células. Depois, selecio-
ne-as e execute a macro: acesse a guia Exibição, e, no grupo Macros, clique no
botão para expandir os comandos e, depois, clique em Exibir macro.
35
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
8) Após executar a macro, observe que as palavras ficaram na cor vermelha.
9) Vamos editar a macro. Acesse a guia Exibição e, no grupo Macros, clique no
botão para expandir os comandos e, depois, clique em Exibir macro. Na ja-
nela Macro, selecione a macro Cor e clique no botão Editar para abrir o VBA.
10) Altere o número 3 para 5 neste comando: Selection.Font.ColorIndex = 5
11) Retorne ao Excel. Selecione as células as quais você havia digitado as pala-
vras e execute a macro. Observe que a cor foi alterada de vermelho para azul.
9. Conhecer conceitos de técnicas de programação
Quando se desenvolve programas de computador, existem alguns termos comuns utilizados em lin-
guagem de programação. A seguir, conheça o conceito dos seguintes termos do Visual Basic: pro-
cedimento, instruções, objetos, propriedades, métodos, funções, constantes, variáveis
e caixa de texto.
Procedimento
Também chamado de macro, é um conjunto de códigos (instruções) dispostos em uma forma lógica
dentro do editor da linguagem Visual Basic. Confira um exemplo de procedimento.
Mouse over “exemplo”:
Sub Formatação ()
ActiveCell.FormulaR1C1 = “Curso de Excel Avançado”
ActiveCell.Font.Bold = True
ActiveCell.Font.Size = 14
ActiveCell.Font.Name = “Arial”
ActiveCell.Font.ColorIndex = 55
End Sub
36
EXCEL 2010 – RECURSOS AVANÇADOS
Instruções
É um conjunto de palavras-chave que executam operações programadas. As instruções são classifi-
cadas em métodos, objetos, propriedades e funções.
Métodos: É uma ação que um objeto executa. A sintaxe é Objeto.Método (Argumento1...
ArgumentoN).
Objetos: é uma estrutura que contém dados e métodos para manipular os dados. Por exemplo,
controles e formulários.
Propriedades: É um conjunto de características tanto visuais quanto de posição de um objeto.
Por exemplo, a janela é um objeto, sua propriedade pode ser maximizada ou minimizada. A
sintaxe é Objeto.Propriedade. Podem ser atribuídos valores às propriedades: Objeto.Pro-
priedade = Valor.
Funções: São fórmulas que realizam cálculos automáticos. Existem funções internas do Visual
Basic e aquelas criadas pelo usuário.
Confira exemplos de instrução, métodos, objetos, propriedades em um código.
Janela pop-up “Exemplos”:
Exemplos de instrução, métodos, objetos, propriedades
Utilizando como exemplo o seguinte procedimento, confira na tabela os exemplos de instrução,
métodos, objetos, propriedades.
Sub Formatação ()
ActiveCell.FormulaR1C1 = “Curso de Excel Avançado”
ActiveCell.Font.Bold = True
ActiveCell.Font.Size = 14
ActiveCell.Font.Name = “Arial”
ActiveCell.Font.ColorIndex = 55
End Sub
Instrução Objetos Propriedades Métodos
ActiveCell.FormulaR1C1 = “Curso
de Excel Avançado”
ActiveCell FormulaR1C1
ActiveCell.Font.Bold = True ActiveCell Font Bold
ActiveCell.Font.Size = 14 ActiveCell Font Size
ActiveCell.Font.Name = “Arial” ActiveCell Font Name
ActiveCell.Font.ColorIndex = 55 ActiveCell Font ColorIndex
Observação: no procedimento Formatação percebe-se que um objeto pode ter diversas proprie-
dades e/ou métodos.
37
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
Saiba Mais
CONHEÇA UM MODO PARA SIMPLIFICAR A SINTAXE DE UMA INSTRUÇÃO.
Quando se tem um objeto com vários métodos e propriedades, recomenda-se
simplificar a sintaxe com a instrução With/End With. Observe a seguir o mesmo
procedimento exemplificado, porém utilizando a instrução With/End With:
Sub Formatação ()
ActiveCell.FormulaR1C1 = “Curso de Excel Avançado”
With ActiveCell.Font
.Bold = True
.Size = 14
.Name = “Arial”
.ColorIndex = 55
End with
End Sub
Constantes
São palavras que representam valores ou textos ̶ numéricos, alfanuméricos ou outro tipo de valor
̶ que podem ser usados em outros locais da aplicação. No Visual Basic há dois tipos de constantes:
as incorporadas e as definidas pelo usuário.
Incorporadas: São encontradas nas propriedades e métodos tanto do Excel quanto do Visual
Basic.
Definidas pelo usuário: As constantes definidas pelos usuários devem ter a seguinte sinta-
xe: Const CONSTANTE = expressão. Const: é o comando padrão para se definir a constante.
CONSTANTE: é o nome a ser definido para a constante; recomenda-se utilizar letras maiúscu-
las. Expressão: Poderá ser uma fórmula, um valor numérico ou alfanumérico. Exemplo: Const
JUROS=6.
Exemplo: Const JUROS = 6
Variáveis
As variáveis têm função similar às constantes. A diferença é que podem ter valores alterados quando
a aplicação for executada. As variáveis são espaços reservados na memória do computador para ar-
mazenar informações para uso posterior. Cada tipo de variável aceita dados específicos. Os tipos de
variáveis são: string, byte, integer, long, single, double, date, boolean, variant, currency,
object e array.
38
EXCEL 2010 – RECURSOS AVANÇADOS
String: Pode ser chamada de alfanumérica, pois pode conter quaisquer tipos de dados no for-
mato texto. Ao declarar uma variável do tipo string, o texto deve ficar entre parênteses.
Byte: Aceita números inteiros de 0 a 255. Ocupa um byte de memória.
Integer: Aceita números inteiros de -2.147.483.648 a 2.147.483.647. Ocupa 4 bytes de me-
mória.
Long: Aceita valores inteiros longos, variando de -9.223.372.036.854.775.808 a 9.223.372.036.854.
775.807. Ocupa 8 bytes de memória.
Single: Também chamado de precisão simples. Aceita números reais, variando aproximada-
mente de -3,4E38 a 3.4E38. Ocupa 4 bytes de memória.
Double: Também chamado de dupla precisão. Aceita números reais, variando aproximadamen-
te de -1.8E308 a 4.9E324. Ocupa 8 bytes de memória.
Date: Aceita datas e horas, variando de 1/1/0001 a 31/12/9999. Ocupa 8 bytes de memória.
Boolean: Aceita valores booleanos: true e false.
Variant: Aceita qualquer tipo de variável. Ocupa 16 bytes quando armazena números e 22
bytes quando armazena string.
Currency: Aceita o tipo monetário ou decimais fixos. Varia de -922.337.203.685.477,5808 a
922.337.203.685.477,5807. Ocupa 8 bytes de memória.
Object: Estabelece referência a objetos. Ocupa 4 bytes de memória em plataforma de 32 bits
e 8 bytes em plataforma de 64 bits.
Array: Aceita o tipo vetor ou matriz. É um conjunto de variáveis em que cada elemento possui
um índice.
Saiba como declarar as variáveis em um procedimento.
Declaração de variáveisA declaração de variáveis em um procedimento ocorre utilizando-se a palavra-chave Dim para de-
terminar informações de variável e o tipo de dados. A cláusula Dim não é obrigatória, porém quando
uma variável não é declarada, está sendo utilizado um espaço de memória do tipo variant. Como
consequência, utiliza-se mais memória do que o necessário. Assim, é melhor sempre declarar as
variáveis.
Exemplos:
a) Dim Nome As String: nome é uma variável do tipo String;
b) Dim Idade As Byte: idade é uma variável do tipo Byte;
c) Dim Nascimento As Date: nascimento é uma variável do tipo Date;
d) Dim NumFilhos As Byte: NumFilhos é uma variável do tipo Byte;
e) Dim EstadoCivil As String: EstadoCivil é uma variável do tipo String.
Caixa de texto (Application.InputBox)
O método Application.InputBox possibilita criar uma caixa de diálogo para entrada de informações
39
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
pelo usuário. A sintaxe é: Application .InputBox(Prompt, [Title], [Default], [Left], [Top],
[HelpFile], [HelpContextID], [Type] ); os argumentos em português são Application.InputBox
(mensagem, título, padrão, esquerda, superior, ajuda, contexto, tipo). O argumento Prompt ou
mensagem é o único argumento obrigatório, os demais são opcionais.
Application: Definição do objeto.
Prompt as a string: É a mensagem a ser exibida ao usuário na Caixa de Diálogo.
Title: É o título da caixa de mensagem, situado na barra de título. Caso title seja omitido, apa-
recerá o nome padrão Input.
Default: É um valor que aparecerá preenchido na InputBox.
Left, Top: Pode-se definir uma posição para a caixa de diálogo abrir na tela. A medição é por
pontos, a partir do canto superior esquerdo da tela.
HelpFile, HelpContextID: Pode-se criar um arquivo de ajuda on-line para a caixa de entrada
e um tópico da ajuda. Aparecerá um botão “?”.
Type: Tipo de dados a ser retornado. Caso este argumento seja omitido, a caixa de diálogo
retorna um texto. O tipo poderá ser um destes valores: 0, 1, 2, 4, 8, 16 ou 64. Onde: 0: Uma
fórmula; 1: Um número; 2: Texto (cadeia de caracteres); 4: Um valor lógico (Verdadeiro ou
Falso); 8: Uma referência de célula, como um objeto intervalo; 16: Um valor de erro, #N/D
(não definido); 64: Uma matriz de valores.
10. Desvios condicionais
Quando se cria instruções em um procedimento, podemos determinar que partes do programa
sejam executadas ou não, dependendo do resultado de um teste lógico ou comando. Esse procedi-
mento é chamado de desvio condicional.
Nesse caso são utilizadas as instruções If...Then e If...Then...Else, aliadas ao uso de operado-
res relacionais. Se a operação utilizar duas ou mais condições simultaneamente, é necessário usar
operadores lógicos, também conhecidos como operadores booleanos: And, Or e Not.
Operadores relacionais
Os operadores relacionais são usados para verificar hipóteses a serem definidas.
Símbolo Significado
= Igual a
> Maior que
< Menor que
>= Maior ou igual
<= Menor ou igual
<> Diferente
40
EXCEL 2010 – RECURSOS AVANÇADOS
Exemplo de código utilizando o operador relacional:
If [Variável 1] >= [Variável 2] Then
Instrução
End If
Condição And
O operador And (E) é utilizado quando dois ou mais relacionamentos lógicos de uma condição
precisam ser verdadeiros.
A B A e B Situação
F F F Falso
V F F Falso
F V F Falso
V V V Verdadeiro
Exemplo de código utilizando a condição And:
If [Condição 1] And [Condição 2] Then
Instrução
End If
Condição Or
O operador Or (Ou) é utilizado quando pelo menos um dos relacionamentos lógicos de uma con-
dição precisa ser verdadeiro.
A B A ou B Situação
V V V Verdadeiro
V F V Verdadeiro
F V V Verdadeiro
F F F Falso
Exemplo de código utilizando a condição Or:
If [Condição 1] Or [Condição 2] Then
Instrução
End If
Condição Not
A condição Not é utilizada quando uma condição deve ser não verdadeira, ou seja, mesmo sendo
uma condição verdadeira, ela será tratada como falsa.
Condição Situação
Verdadeiro Falso
Falso Verdadeiro
41
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
Exemplo de código utilizando a condição Not:
If Not [Condição] Then
Instrução
End If
11. Malhas de repetição
Uma parte específica de um procedimento pode ser repetida inúmeras vezes enquanto determina-
da condição for verdadeira. Esse processo é conhecido como malhas ou laços de repetição, ou
ainda looping, e utiliza a instrução Do While... Loop.
Exemplo de código utilizando malhas de repetição
No código abaixo a instrução é executada enquanto (Do While) o contador for menor que 10.
Sub Do_Loop_While_no_início()
Dim x, Contador, Soma
x = 10
Contador = 1
Soma = 0
‘ Efetua a soma dos dez primeiros números maiores do que zero.
Do While Contador < x
Soma = Soma + Contador
Contador = Contador + 1
Loop
MsgBox “Soma = “ & Soma
End Sub
12. Função MsgBox
A função MsgBox exibe uma mensagem em uma caixa de diálogo e aguarda que o usuário clique
em determinado botão para retornar um valor do tipo Integer. Esse valor de retorno indica em qual
botão o usuário clicou. Confira a sintaxe da função MsgBox e os respectivos argumentos.
42
EXCEL 2010 – RECURSOS AVANÇADOS
Sintaxe da função MsgBox
MsgBox(Prompt, [Buttons As VbMsgBoxStyle = vbOkOnly], [Title], [HelpFile], [Context]) As
VbMsgBoxResult
• Prompt (obrigatório) ̶ é a mensagem mostrada na caixa de diálogo. O comprimento
máximo de Prompt é de aproximadamente 1.024 caracteres, dependendo da largura dos
caracteres utilizados.
• Buttons (opcional) ̶ é uma expressão numérica que representa a soma de valores que
especifica o número e o tipo de botões, o estilo de ícone, a identidade do botão padrão
e a modalidade da caixa de mensagem. Se omitido, o valor padrão para Buttons é 0.
Confira as definições do argumento buttons.
Definições do argumento buttons
As definições do argumento buttons são as seguintes:
Constante Valor Descrição
VbOKOnly 0 Exibe somente o botão OK.
VbOKCancel 1 Exibe os botões OK e Cancelar.
VbAbortRetryIgnore 2 Exibe os botões Abortar, Repetir e Ignorar.
VbYesNoCancel 3 Exibe os botões Sim, Não e Cancelar.
VbYesNo 4 Exibe os botões Sim e Não.
VbRetryCancel 5 Exibe os botões Repetir e Cancelar.
vbCritical 16 Exibe o ícone Mensagem crítica.
vbQuestion 32 Exibe o ícone Consulta de aviso.
vbExclamation 48 Exibe o ícone Mensagem de aviso.
vbInformation 64 Exibe o ícone Mensagem de informação.
vbDefaultButton1 0 O primeiro botão é o padrão.
vbDefaultButton2 256 O segundo botão é o padrão.
vbDefaultButton3 512 O terceiro botão é o padrão.
vbDefaultButton4 768 O quarto botão é o padrão.
vbApplicationModal 0
Janela restrita do aplicativo; o usuário deve responder à cai-
xa de mensagem antes de continuar o trabalho no aplicativo
atual.
• Title (opcional) ̶ é a expressão de sequência de caracteres exibida na barra de título
da caixa de diálogo. Se Title for omitido, será inserido o nome do aplicativo na barra de
título.
• HelpFile (opcional) ̶ é a expressão de sequência de caracteres que identifica o arquivo
de ajuda a ser usado como auxílio relativo à caixa de diálogo. Se HelpFile for fornecido,
Context também deverá ser fornecido.
43
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
• Context (opcional) ̶ é a expressão numérica que representa o número de contexto
da ajuda, atribuído ao tópico de Ajuda apropriado pelo autor. Se Context for fornecido,
HelpFile também deverá ser fornecido.
Exemplos:
a) MsgBox “Legal”, 48: a janela exibe a mensagem Legal e o ícone Mensagem de aviso.
b) MsgBox “Péssimo”, 16: a janela exibe a mensagem Péssimo e o ícone Mensagem crítica.
13. Colocando em prática
Até aqui você estudou alguns conceitos básicos de técnicas de programação. Como prática
para reforçar esses conceitos, faça a atividade.
Agora é com você!
CONCEITOS BÁSICOS DE TÉCNICAS DE PROGRAMAÇÃO
Prática 1
Nesta prática será digitado um comando de inserção de texto automático e alguns
comandosde formatação.
1) Abra o Excel.
2) Na guia Desenvolvedor, grupo Código, clique em Visual Basic ou tecle Alt
+ F11.
3) Ative o menu Inserir e escolha a opção Módulo para abrir uma folha na
qual os códigos serão digitados.
4) Digite o código a seguir:
Sub Formatação ()
ActiveCell.FormulaR1C1 = “Curso de Excel Avançado”
ActiveCell.Font.Bold = True
ActiveCell. Font.Size = 14
ActiveCell.Name = “Arial”
ActiveCell.Font.ColorIndex = 55
End Sub
5) Na Barra de Ferramentas do Visual Basic, clique no botão Exibir Microsoft
Excel.
6) Clique numa célula qualquer.
7) Acesse o menu Exibição, grupo Macros, e clique em Macros.
44
EXCEL 2010 – RECURSOS AVANÇADOS
8) Selecione a macro Formatação e clique no botão Executar.
Prática 2
Nesta prática serão utilizados os comandos With/End With na criação dos códigos.
1) Abra o Excel.
2) Na guia Desenvolvedor, grupo Código, clique em Visual Basic ou tecle Alt
+ F11.
3) Ative o menu Inserir e escolha a opção Módulo para abrir uma folha na
qual os códigos serão digitados.
4) Digite o código a seguir:
Sub Formatação2 ()
ActiveCell.FormulaR1C1 = “Curso de Excel Avançado”
With ActiveCell.Font
.Bold = True
.Size = 14
.Name = “Arial”
.ColorIndex = 55
End with
End Sub
5) Na Barra de Ferramentas do Visual Basic, clique no botão Exibir Microsoft
Excel.
6) Clique em uma célula qualquer.
7) Acesse o menu Exibição, grupo Macros, e clique em Macros.
8) Selecione a macro Formatação2 e clique no botão Executar.
45
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
Prática 3
Nesta prática será utilizado o código InputBox para exibir uma caixa de diálogo de
entrada de dados.
1) Abra o Excel.
2) Na guia Desenvolvedor, grupo Código, clique em Visual Basic ou tecle Alt
+ F11.
3) Ative o menu Inserir e escolha a opção Módulo para abrir uma folha na
qual os códigos serão digitados.
4) Digite o código a seguir:
Sub InpuBox ()
‘Atalho do teclado: Ctrl+i
Application.InputBox “Toca Bip?”, “Responda Sim ou Não”
End Sub
5) Clique em uma célula qualquer.
6) Ac esse o menu Exibição, grupo Macros, e clique em Macros.
7) Selecione a macro InputBox. Depois clique no botão Opções para atribuir
uma tecla de atalho para a macro. No item Tecla de atalho, digite a letra i.
Clique em OK e depois clique no botão Executar.
Prática 4
Nesta prática... será utilizado o código InputBox para exibir uma caixa de diálogo de
entrada de dados e, se a resposta do usuário for Sim, irá disparar um breve bip.
1) Abra o Excel.
2) Na guia Desenvolvedor, grupo Código, clique em Visual Basic ou tecle Alt
+ F11.
46
EXCEL 2010 – RECURSOS AVANÇADOS
3) Ative o menu Inserir e escolha a opção Módulo para abrir uma folha na
qual os códigos serão digitados.
4) Digite o código a seguir:
Sub Bip()
‘Atalho do teclado: Ctrl+b
Resposta = Application.InputBox(“Toca Bip?”, “responda Sim ou Não”)
If resposta = “Sim” Or resposta = “sim” Then
Beep
End If
End Sub
5) Clique em uma célula qualquer.
6) Acesse o menu Exibição, grupo Macros, e clique em Macros.
7) Selecione a macro Bip. Depois clique no botão Opções para atribuir uma
tecla de atalho para a macro. No item Tecla de atalho, digite a letra b. Clique
em OK e depois clique no botão Executar.
Prática 5
Nesta prática será criado um questionário, utilizando o código InputBox para exibir
uma caixa de diálogo de entrada de dados e a função MSgBox para exibir uma caixa
de mensagem.
1) Abra o Excel.
2) Na guia Desenvolvedor, grupo Código, clique em Visual Basic ou tecle Alt
+ F11.
3) Ative o menu Inserir e escolha a opção Módulo para abrir uma folha na
qual os códigos serão digitados.
4) Digite o código a seguir:
Sub Questionario()
‘Atalho do teclado: Ctrl+q
nome$ = Application.InputBox(“Digite seu nome:”, “Entrada de da-
dos”)
resp% = MsgBox(“Você mente a idade “ & nome$ & Chr(13) & “Mente:
Sim/Não?”, 4)
If resp% = vbNo Then
MsgBox “Legal”, 48
Else
MsgBox “Horrível”, 16
End If
End Sub
5) Clique em uma célula qualquer.
6) Acesse o menu Exibição, grupo Macros, e clique em Macros.
7) Selecione a macro Questionário. Depois clique no botão Opções para atri-
buir uma tecla de atalho para a macro. No item Tecla de atalho, digite a letra
47
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
q. Clique em OK e depois clique no botão Executar.
8) Responda à pergunta que aparece na caixa de diálogo; teste mais de uma
vez.
Explicando o código
Na atividade prática 5 foram utilizadas duas variáveis: nome$ e resp%. A primeira
recebe valores string (texto) e a outra recebe apenas número inteiro.
A variável nome$ tem função similar à Application.InputBox, que assumirá o valor
digitado pelo usuário, neste caso o nome. Após isso, esse nome será utilizado
pela função MsgBox.
A função MsgBox utilizará a concatenação (&) seguido da variável nome$. Em segui-
da, é concatenada a função Chr(13) que, com o valor 13, efetua a mudança de linha;
a outra parte da mensagem também concatenada “Mente: Sim/Não?” aparece na
segunda linha.
O código 4 exibe os botões Sim e Não.
O valor dos botões é atribuído à variável resp%, que será analisada pela instrução
If...Then...Else
Prática 6
Nesta prática você utilizará o comando Dim para a declaração de uma variável.
1) Abra o Excel.
2) Na guia Desenvolvedor, grupo Código, clique em Visual Basic ou tecle Alt
+ F11.
3) Ative o menu Inserir e escolha a opção Módulo para abrir uma folha na
qual os códigos serão digitados.
4) Digite o código a seguir:
Sub QualIdade()
‘Atalho do teclado: Ctrl+r
Dim resp As Variant
resp = Application.InputBox (“Você responde certo sua idade: S/N”, ,
, 2)
If resp = “S” Or resp = “s” Then
MsgBox “Legal”, 48
Else
MsgBox “Péssimo”, 16
End If
End Sub
5) Clique em uma célula qualquer.
6) Acesse o menu Exibição, grupo Macros, e clique em Macros.
7) Selecione a macro Qualidade. Depois clique no botão Opções para atribuir
48
EXCEL 2010 – RECURSOS AVANÇADOS
uma tecla de atalho para a macro.
8) No item Tecla de atalho, digite a letra r. Clique em OK e depois clique no
botão Executar.
9) Responda à pergunta que aparece na caixa de diálogo; teste as duas res-
postas: S e N.
10) Faça outro teste digitando uma letra diferente, por exemplo, a letra q.
Observe que o Excel assume esta resposta como não. Talvez seja necessário
considerar somente as respostas S ou N. Na prática 7 vamos resolver esse
problema.
Prática 7
Nesta prática você utilizará as instruções While e Loop para verificar e repetir um
bloco de código.
1) Abra o Excel.
2) Na guia Desenvolvedor, grupo Código, clique em Visual Basic ou tecle Alt
+ F11.
3) Ative o menu Inserir e escolha a opção Módulo para abrir uma folha na
qual os códigos serão digitados.
4) Digite o código a seguir:
Sub QualIdade2()
‘Atalho do teclado: Ctrl+u
Dim resp As Variant
resp = “”
Do While resp <> “S” And resp <> “s” And resp <> “N” And resp <>
“n”
resp = Application.InputBox(“Você responde certo sua idade: S/N”, ,
, 2)
Loop
If resp = “S” Or resp = “s” Then
MsgBox “Legal”, 48
Else
MsgBox “Péssimo”, 16
End If
End Sub
5) Clique em uma célula qualquer.
6) Acesse o menu Exibição, grupo Macros, e clique em Macros.
7) Selecione a macro Qualidade2. Depois clique no botão Opções para atribuir
uma tecla de atalho para a macro.
8) No item Tecla de atalho, digite a letra u. Clique em OK e depois clique no
botão Executar.
9) Responda à pergunta que aparece na caixa de diálogo; teste as duas res-
49
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
postas: S e N.
10) Faça outro teste digitando uma letra diferente, por exemplo, a letra q.
11) Salve o arquivo.
Explicando o código
Na atividade prática 7 foi utilizada a instrução Do While...Loop a qual executa um re-
petição (looping) até que a condição seja verdadeira. Assim, enquanto não se digitar
as opções estabelecidas como verdadeiras, a pergunta é exibida.
A indicação resp=”” é utilizada para garantir que o valor esteja vazio. Ainda há um
problema na instrução. Se o botãoCancelar for pressionado, o looping continuará
sendo executado. Observação: não foi definida uma atribuição para o botão Cance-
lar.
Prática 8
Aqui você colocará em prática todos os códigos, comandos e instruções realizadas
nas práticas anteriores.
1) Abra o arquivo elaborado na prática 7.
2) Na guia Exibição, grupo Macros, escolha a opção Macros.
3) Ative o menu Inserir e escolha a opção Módulo para abrir uma folha na
qual os códigos serão digitados.
4) Selecione a macro Qualidade2 e clique no botão Editar.
5) Faça uma alteração no código: antes do comando Loop, insira estas linhas:
If resp = False Then
Exit Sub
End if
6) O código completo ficará deste modo:
Sub Qualidade2()
‘Atalho do teclado: Ctrl+u
Dim resp As Variant
resp = “”
Do While resp <> “S” And resp <> “s” And resp <> “N” And resp <>
“n”
resp = Application.InputBox(“Você responde certo sua idade: S/N”, ,
, 2)
If resp = False Then
Exit Sub
End if
Loop
If resp = “S” Or resp = “s” Then
MsgBox “Legal”, 48
Else
50
EXCEL 2010 – RECURSOS AVANÇADOS
MsgBox “Péssimo”, 16
End If
End Sub
14. Funções definidas pelo usuário
O Excel possui centenas de funções predefinidas na biblioteca, mas você também pode desenvolver
a sua própria função utilizando o código da linguagem Visual Basic for Applications. Uma função
caracteriza-se por receber argumentos externos, processar os dados e emitir um resultado.
As funções definidas pelo usuário não podem conter comandos do menu ou ações de teclado ou
mouse, e não podem ser geradas pelo gravador de macro, ou seja, são desenvolvidas manualmente.
Uma função utiliza as palavras-chaves Function/End Function. Exemplo de código:
Function RaizA(Valor)
‘Função = raiz quadrada
Indice = 2
RaizA = Valor ^ (1 / Indice)
End Function
Agora é com você!
FUNÇÕES DEFINIDAS PELO USUÁRIO
Nesta prática você definirá uma função para calcular a raiz quadrada.
1) Abra o Excel.
2) Na guia Desenvolvedor, grupo Código, clique em Visual Basic ou tecle Alt
+ F11.
3) Ative o menu Inserir e escolha a opção Módulo para abrir uma folha na
qual os códigos serão digitados.
4) Digite o código a seguir:
Function RaizA(Valor)
‘Função raiz quadrada
Indice = 2
RaizA = Valor ^ (1 / Indice)
End Function
5) Para visualizar a função, retorne ao Excel. Acesse a guia Fórmulas e no
grupo Biblioteca de Funções clique em Inserir Função. Escolha a categoria
Definido pelo Usuário.
51
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
15. Depuração de erros
Uma macro pode ter códigos muito extensos. Nesse caso, se ocorrerem erros durante o processo
de execução da macro, torna-se difícil identifi cá-los. Por isso, o Excel disponibiliza uma ferramenta
que auxilia na identifi cação de erros chamada de depuração.
Em Informática os erros também são conhecidos como bugs.
Barra de depuração
A barra de depuração está disponível no Visual Basic for Applications no menu Exibir, opção Barra
de Ferramentas, item Depurar.
Modo de criação: ativa/desativa o modo de estrutura.
Executar macro (F5): executa o procedimento. Se o cursor estiver posicionado em
um procedimento, executa também o UserForm se houver um ativo no momento, ou
executa uma macro.
Interromper: interrompe a execução de uma macro.
Redefi nir: efetua a limpeza da pilha de execução e também das variáveis em nível de
módulo e redefi ne o projeto.
52
EXCEL 2010 – RECURSOS AVANÇADOS
Ativar/desativar pontos de interrupção (F9): permite defi nir ou retirar um ponto
de interrupção (uma linha de macro, os pontos de interrupção não são salvos com seu
código).
Depuração total (F8): permite que o código seja executado, instrução por instrução.
Depuração parcial (Shift + F8): Permite que o código seja executado de cada vez
na janela Código.
Depuração circular (Ctrl + Shift + F8): permite que as linhas restantes de uma ma-
cro sejam executadas após a localização de ponto de execução atual.
Janela ‘Variáveis locais’: exibe a janela Variáveis locais.
Janela ‘Verifi cação imediata’: exibe a janela Verifi cação imediata.
Janela ‘Inspeção de variáveis’: exibe a janela Inspeção de variáveis.
Inspeção de variáveis rápida (Shift + F9): exibe a janela Inspeção de variáveis
rápida com o valor atual da expressão.
Pilha de chamadas (Ctrl + F): exibe a janela Chamadas, que apresenta a lista de
chamadas de procedimento atualmente ativas.
Agora é com você!
DEPURAÇÃO DE ERROS
Realize os seguintes passos:
1) Abra a macro Qualidade2.
2) Altere o nome da variável resp para resp$ na linha resp = “”.
3) O código ficará assim:
Sub QualIdade2()
‘Atalho do teclado: Ctrl+u
Dim resp As Variant
resp$ = “”
53
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
Do While resp <> “S” And resp <> “s” And resp <> “N” And resp <>
“n”
resp = Application.InputBox(“Você responde certo sua idade: S/N”, ,
, 2)
If resp = False Then
Exit Sub
End If
Loop
If resp = “S” Or resp = “s” Then
MsgBox “Legal”, 48
Else
MsgBox “Péssimo”, 16
End If
End Sub
4) Na barra Depurar, clique no botão Executar macro.
5) Observe a seguinte mensagem de erro: “Caractere de declaração de tipo
não corresponde ao tipo de dados declarado”
6) Faça a correção: altere o nome da variável resp$ para resp na linha resp$
= “”.
7) Altere o nome do método InputBox para Input.
8) Clique no botão Executar macro.
9) Observe a seguinte mensagem de erro: “O objeto não aceita esta proprie-
dade ou método”.
10) Clique no botão Fim.
54
EXCEL 2010 – RECURSOS AVANÇADOS
Inspeção de variáveis rápida
11) Faça a correção: altere o nome do método Input para InputBox.
12) Altere a linha If resp = “S” Or resp = “s” Then para If resp = “S” And resp
= “s” Then.
13) Clique no botão Executar macro. Desta vez não será exibida nenhuma
mensagem de erro, pois a sintaxe está correta. Mas na hora executar, inde-
pendente da resposta ser S, o Excel interpretará como falsa.
14) Selecione a variável resp.
15) Clique no botão Inspeção de variáveis rápida ou utilize as teclas Shift + F9.
16) Clique no botão Adicionar.
Executar depuração
17) Observe na parte debaixo da tela que a variável foi adicionada.
18) Posicione o cursor na primeira linha do código: Sub Qualidade2().
19) Pressione F8 para executar a depuração total da macro. O Excel executará
a macro linha a linha, a cada F8 pressionado. Observe que a linha da resposta
Positiva não foi verificada, mas não é informada nenhuma mensagem sobre o
motivo. Esse tipo de erro é difícil de ser detectado.
20) Faça a correção da linha, alterando o And para Or.
Após realizar a depuração de erros, podem ser encontradas as seguintes ocorrências:
Sintaxe: O erro de sintaxe ocorre quando uma instrução é escrita errada ou há falta de pontuação.
Normalmente esse tipo de erro é observado pelo sistema no ato da digitação quando a linha fica
vermelha. Mas quando isso não acontece, o erro só é informado na execução da macro.
Compilação: O erro de sintaxe ocorre quando é esquecido o complemento de uma instrução, nor-
malmente quando há instruções Do While, sem Loop, ou If...Then, sem End If. O Visual Basic analisa
rapidamente o código antes de processá-lo. Quando encontra um erro de compilação, ele é realçado
para ser corrigido, além de exibir uma mensagem de erro.
Tempo de execução: O erro de tempo de execução ocorre durante a execução, quando alguma
instrução ou fórmula não foi entendida pelo VBA. Isso ocorre normalmente quando se utiliza uma
55
EXCEL 2010 – RECURSOS AVANÇADOSEXCEL 2010 – RECURSOS AVANÇADOS
propriedade ou método com o objeto errado.
Lógica: O erro de lógica é o mais difícil de ser identificado porque o depurador executa a macro
passo a passo, visualizando a execução de cada linha.