Buscar

1303_MS Excel 2013 com VBA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 249 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 249 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 249 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
Sumário 
Conceitos de Lógica de Programação 
Algoritmo 5 
Formas de Representação de Algoritmos 5 
Descrição Narrativa 6 
Pseudocódigo 7 
Portugol 7 
Algumas palavras-chave 8 
Regras para a construção do Algoritmo 8 
Fases Fundamentais 8 
Analogia do homem 9 
Teste de mesa 10 
Variáveis 11 
Constantes 11 
Tipos de Variáveis 12 
Declaração e Atribuição de Variáveis 12 
Estrutura de um Algoritmo 13 
Imaginando o funcionamento de um computador 13 
Programas de Computador 14 
Fluxograma Convencional 14 
Simbologia 15 
Operadores e Funções 16 
Operadores Aritméticos 16 
Hierarquia das Operações Aritméticas 17 
Operadores Relacionais 17 
Operadores Lógicos 18 
Funções Intrínsecas 18 
Funções Aritméticas 19 
Funções Literais Usuais 19 
Estruturas Básicas de Controle 19 
Decisão 20 
Introdução às Macros 
Macro e o Ambiente VBA 26 
Ativação da guia Desenvolvedor 26 
 
 
2 
 
 
 
Arquivos do Excel 28 
Tipos de Macro 29 
Ambiente Microsoft Visual Basic 31 
Construção de uma Macro 35 
Características Típicas de Macros em VBA 39 
Linhas de Comentários 39 
Comandos Sub / End Sub 39 
Nome do Procedimento 40 
Código-Fonte do Procedimento 40 
Executar uma Macro 41 
Macros de Endereço Absoluto e Relativo 42 
Técnicas Gerais de Programação 
Conceitos Básicos 49 
Procedimentos 49 
Comandos e Instruções 49 
Objetos 49 
Propriedades 50 
Métodos 50 
Funções 50 
Valores de uma Propriedade 51 
Múltiplos Métodos e Propriedades 54 
Hierarquia das Propriedades 56 
Variáveis, Constantes e Aritmética 60 
Tipos de Dados 64 
Entrada de Dados 66 
Desvios Condicionais 69 
Laços 89 
Depurar Macros 98 
VBA (Visual Basic for Applications) 
Introdução 111 
Conceitos Básicos de Programação 111 
Algoritmos e Linguagem de Programação 112 
Linguagem de Programação 113 
Ambientes de Programação 114 
VBA (Visual Basic for Applications) 115 
Uma passagem rápida pelo Visual Basic 116 
 
3 
 
 
 
Macro 116 
Considerações 121 
Funções Definidas pelo Usuário 
Característica Funcional 122 
Desenvolver Funções com o VBA 122 
 Função RaizTotal 122 
 Função Fibonacci 124 
 Função Hipotenusa 126 
Verificação de Funções Definidas 127 
Macros com Excel 
Definição da Planilha 132 
Área de Recepção de Dados 133 
Macro para Recepção dos Dados 134 
Macro para Transporte dos Dados 138 
 Macro para Transporte Original 142 
 Macro para Transporte com Alteração 143 
Macro para Cadastro dos Dados 145 
Macro para Ordenar Dados 148 
 Classifica Curso: SortCurso 149 
 Classifica Data: SortData 150 
 Classifica Participante: Sortparticipante 151 
 Classifica Várias Chaves: SortRelatorio 153 
Macro para Salvar Dados 156 
Macros Interativas 
Botões para Executar Macros 164 
 Editar Texto 167 
 Associar Macros aos Botões 168 
Mensagens na Barra de Status 170 
 Ordenação do Campo Curso com Mensagem 172 
 Ordenação do Campo Data com Mensagem 173 
 Ordenação do Campo Participante com Mensagem 174 
 Ordenação de Vários Registros com Mensagem 175 
Mensagens com Caixas de Mensagens 176 
 Ordenação do Campo Curso com Caixa de Mensagem 176 
 
4 
 
 
 
 Ordenação do Campo Data com Caixa de Mensagem 177 
 Ordenação do Campo participante com Caixa de Mensagem 178 
 Ordenação de Vários Registros com Caixa de Mensagem 179 
VBA e a Interface com o Usuário 
Desenvolver Formulário 189 
Caixa de Diálogo para Cadastrar 210 
Atribuir Nomes aos Campos Inseridos 212 
Determinar a Tabulação dos Campos 213 
Executar a Macro para o Cadastro 216 
Melhora da Execução de Macros 226 
 Macro do Botão de Ordenação 226 
 Macro do Botão OK de CxCadastra 227 
Barra de Menus 233 
Exercícios Propostos 
Conceitos de Lógica de Programação 239 
 Introdução às Macros 240 
Técnicas Gerais de Programação 241 
VBA (Visual Basic for Applications) 242 
Funções Definidas pelos Usuário 243 
Macros com Excel 244 
Macros Interativas 245 
VBA e a Interface com o Usuário 246 
 
 
5 
 
 
 
Conceitos de Lógica de Programação 
 
Algoritmo 
Uma sequência de ações finitas encadeadas e lógicas que descrevem como um 
determinado problema deve ser resolvido. 
 
Um algoritmo é formalmente uma sequência finita de passos que levam a execução de 
uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequência de 
instruções que executam uma meta específica. Estas tarefas não podem ser redundantes 
nem subjetivas na sua definição, devem ser claras e precisas. 
 
Como exemplos de algoritmos podemos citar os algoritmos das operações básicas 
(adição, multiplicação, divisão e subtração) de números reais decimais. Outros exemplos 
seriam os manuais de aparelhos eletrônicos, como um aparelho de som, que explicam 
passo-a-passo como, por exemplo, gravar um evento. 
 
Até mesmo as coisas mais simples do nosso dia a dia, podem ser descritas por 
sequências lógicas. Por exemplo: 
 
Apesar do nome pouco usual, algoritmos são comuns em nosso cotidiano, como por 
exemplo, uma receita de bolo. Nela está descrita uma série de ingredientes necessários e 
uma sequência de diversos passos (ações) que devem ser fielmente cumpridos para que 
se consiga fazer o alimento desejado, conforme se esperava, antes do início das atividades 
(objetivo bem definido). 
 
Observa-se, porém que uma ordem isolada não permite realizar o processo completo, 
para isso é necessário um conjunto de instruções colocadas em ordem sequencial lógica. 
No exemplo do parágrafo anterior para fazermos um bolo não podemos começar por 
colocar os ingredientes no forno. 
É necessário todo um processo passo a passo para se chegar a este fim. 
 
Formas de Representação de Algoritmos 
Existem diversas formas de representação de algoritmos, mas não há um consenso com 
relação à melhor forma delas. 
 
 
6 
 
 
 
O critério usado para classificar hierarquicamente estas formas está diretamente ligado ao 
nível de detalhe, inversamente ao grau de abstração oferecido. 
Algumas formas de representação de algoritmos tratam os problemas apenas em nível 
lógico, abstraindo-se de detalhes de implementação muitas vezes relacionados com 
alguma linguagem de programação específica. Por outro lado, existem formas de 
representação de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes 
acabam por obscurecer a ideia principal, o algoritmo, dificultando seu entendimento. 
Dentre as formas de representação de algoritmo mais conhecidas, destacam-se: 
 A descrição narrativa; 
 O fluxograma convencional; 
 O pseudocódigo, também conhecido como linguagem estruturada ou Portugal. 
 
Descrição Narrativa 
Nesta forma de representação, os algoritmos são expressos em linguagem natural. 
 
Exemplo: 
 
“Receita de um bolo” 
1. Separar os ingredientes 
2. Bater os ovos em neve na batedeira 
3. Acrescentar açúcar e farinha de trigo 
4. Colocar extrato de baunilha 
5. Acrescentar uma colher de manteiga 
6. Acrescentar uma colher de Fermento em pó 
7. Verificar se esta doce o suficiente 
8. Colocar na forma 
9. Colocar no forno e assar 
10. Retirar do forno 
11. Tirar da forma e servir 
12. Fim do processo 
 
Quando elaboramos um algoritmo devemos especificar ações claras e precisas, que a 
partir de um estado inicial, após um período de tempo finito, produzem um estado final 
previsível e bem definido. Isto significa que o algoritmo fixa um padrão de 
comportamento a ser seguido, uma normade execução a ser trilhada, com vistas a 
alcançar, como resultado final, a solução de um problema, garantindo que sempre que 
executado, sob as mesmas condições, produza o mesmo resultado. 
 
7 
 
 
 
 
A importância de se construir um algoritmo: conseguimos visualizar e testar ainda no 
papel, a solução criada com lógica de programação sem nos preocupar com detalhes 
computacionais e uma vez concebida uma solução algorítmica para um problema, esta 
pode ser traduzida facilmente para qualquer linguagem de programação e ser agregada 
das funcionalidades disponíveis nos diversos ambientes, ou seja, a codificação. 
 
 
Pseudocódigo 
 
Como foi visto até agora, o fluxograma convencional é a primeira forma de notação 
gráfica, mas existe outra, que é uma técnica narrativa denominada pseudocódigo, 
também conhecida como português estruturado ou chamada por alguns de portugol. 
 
Esta técnica de algoritmização é baseada em uma PDL – Program Design Language 
(Linguagem de Projeto de Programação). Aqui vamos apresentá-la em português. A forma 
originas de escrita é conhecida como inglês estruturado, muito parecida com a notação da 
linguagem PASCAL. A PDL (neste caso, o pseudocódigo) é usada como referência genérica 
para uma linguagem de projeto de programação, tendo como finalidade mostrar uma 
notação para elaboração de algoritmos, os quais serão utilizados na definição, criação e 
desenvolvimento de uma linguagem computacional (Clipper, C, Fortran, Pascal, Delphi, 
Visual-Objects) e sua documentação. Abaixo é apresentado um exemplo deste tipo de 
algoritmo. 
 
Os algoritmos são independentes das linguagens de programação. Ao contrário de 
uma linguagem de programação não existe um formalismo rígido de como deve ser 
escrito o algoritmo. 
 
O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o 
intermediário entre a linguagem falada e a linguagem de programação. 
 
 
Portugol 
 
A maioria esmagadora das linguagens de programação de computadores é em língua 
inglesa. Para facilitar o aprendizado de lógica de programação foram criadas algumas 
pseudolinguagens. 
 
O Portugol é uma pseudolinguagem de programação, uma simbiose de Português, Algol 
e Pascal, criada originalmente em inglês, com a proposta de ser independente da 
linguagem nativa (ou seja, existe em japonês, javanês, russo...). 
 
Basicamente, é uma notação para algoritmos, a ser utilizada na definição, criação, 
desenvolvimento e documentação dos programas. 
 
 
8 
 
 
 
Algumas Palavras-chave 
Início, Fim, Algoritmo, Enquanto, Se, então, Para, Até, Até que, Leia, Escreva, Faça, Repita, 
FimSe, FimEnquanto, FimSelecione, entre outras que veremos adiante. 
 
Regras para a construção do Algoritmo 
Para escrever um algoritmo precisamos descrever a sequência de instruções, de maneira 
simples e objetiva. Para isso utilizaremos algumas técnicas: 
1. Usar somente um verbo por frase 
2. Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham 
com informática 
3. Usar frases curtas e simples 
4. Ser objetivo 
5. Evite usar palavras que tenham sentido dúbio 
6. Procure dividir o problema em etapas menores. 
 
 
Fases Fundamentais 
 
Vimos que ALGORITMO é uma sequência lógica de instruções que podem ser executadas. 
É importante ressaltar que qualquer tarefa que siga comportamento padrão pode ser 
descrita por um algoritmo. 
Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado 
em três fases fundamentais... 
 
 
ENTRADA 
 
→ 
PROCESSAMENTO
→ 
SAÍDA 
 
Entrada: São os dados de entrada do algoritmo. 
 
Processamento: Procedimentos utilizados para chegar ao resultado final. 
 
Saída: São os dados já processados. 
 
 
 
 
 
 
9 
 
 
 
 
Analogia do homem 
 
 
 
Exemplo de Algoritmo 
 
Imagine o seguinte problema; Calcular a média final dos alunos. Pelas prova os alunos 
receberão 2 notas: N1, N2. Onde: 
 
Média Final = (N1+N2)/2 
 
Para montar o algoritmo proposto, faremos três perguntas: 
 
Perguntas Respostas 
1) Quais são os dados de entrada? Os dados de entrada são N1, N2. 
2) Qual será o processamento a ser 
utilizado? 
O procedimento será somar todos os 
dados de entrada e dividi-los por 2 (dois). 
3) Quais serão os dados de saída? O dado de saída será a média final. 
 
INÍCIO do algoritmo 
 Receba a nota da prova 1 
 Receba a nota da prova 2 
 Some todas as notas e divida o resultado por 2 
 Mostre o resultado da divisão 
FIM do algoritmo 
 
 
 
 
 
 
10 
 
 
 
 
Teste de Mesa 
 
Após desenvolver um algoritmo ele deverá sempre ser testado. Este teste é chamado de 
TESTE DE MESA, que significa, seguir as instruções do algoritmo de maneira precisa para 
verificar se o procedimento utilizado está correto ou não, escrevendo todas as variáveis e 
resultados em uma tabela. 
 
Programa média 
Var 
 Nome: caractere 
 N1, N2: real 
 Soma, média: real 
Início 
 Imprima “Informe nome e notas do aluno:” 
 Leia nome 
 Leia n1 
 Leia n2 
 Soma <= n1 + n2 
 Média <= soma / 2 
 Imprima Nome 
 Imprima Média 
 Se média >= 5 Então 
 Imprima “Aprovado” 
 Caso contrário 
 Imprima “Reprovado” 
 Fim – Se 
Fim 
 
A diferença entre uma linguagem de programação de alto nível utilizada em computação 
e uma PDL é que esta (seja escrita em português, inglês, ou qualquer outro idioma) não 
pode ser compilada em um computador (por enquanto). Porém, existem “Processadores 
de PDL” que possibilitam traduzir essa linguagem numa representação gráfica de projeto, 
fornecendo uma variedade de informações, como: tabelas de referência cruzada, mapas 
de aninhamento, índice operacional do projeto, entre tantas outras. 
 
ATENÇÃO: Lembramos que o fluxograma e o pseudocódigo são as duas técnicas 
importantes para a documentação da solução de um problema computacional 
Constantes, Variáveis e Tipos de Variáveis 
 
Variáveis e constantes são os elementos básicos que um programa manipula. Uma 
variável é um espaço reservado na memória (endereço de memória) do computador para 
armazenar um conteúdo de determinado tipo, variável durante a execução do algoritmo. 
 
 
11 
 
 
 
 
Variáveis devem receber nomes para poderem ser referenciadas e modificadas quando 
necessário. Um programa deve conter declarações que especificam de que tipo são as 
variáveis que ele utilizará e as vezes um valor inicial. Tipos podem ser por exemplo: 
inteiros, reais, caracteres, etc. As expressões combinam variáveis e constantes para calcular 
novos valores. 
 
 
Variáveis 
 
Variável é a representação simbólica dos elementos de um certo conjunto. Cada variável 
corresponde a uma posição de memória, cujo conteúdo pode ser alterado ao longo do 
tempo durante a execução de um programa. Embora uma variável possa assumir 
diferentes valores, ela só pode armazenar um valor a cada instante. 
Exemplos de variáveis: 
Nome 
Média = Soma / 20 
 
 Nome é o nome dado a uma posição de memória para armazenar um conteúdo com 
letras; 
 Média é o nome dado a uma posição de memória para armazenar um valor real; 
 Soma é o nome dado a uma posição de memória para armazenar um valor real. 
 
 
Constantes 
 
Constante é uma determinada variável que possui um valor fixo (que não se modifica) 
durante a execução de um algoritmo. Conforme o seu tipo, a constante é classificada 
como sendo numérica, lógica e literal. 
Exemplos de constante: 
Nome = “José da Silva” 
Peso = 85 
 
 
 
 
 
12 
 
 
 
Tipos de Variáveis 
As variáveis e as constantes podem ser basicamente de seis tipos: 
Numérica Específicas para armazenamento de números, que posteriormente 
poderão ser utilizados para cálculos. Podem ser ainda classificadas 
como Inteiras ou Reais. As variáveis do tipo inteiro são para 
armazenamento de números inteiros e as Reais são para o 
armazenamento de números que possuam casas decimais 
(números fracionários). 
Caractere Específicas para armazenamento de conjunto de caracteres que 
não contenham números (literais). Ex: nomes. 
Alfanumérica (Expressões) Específicaspara dados que contenham letras e/ou 
números. Pode em determinados momentos conter somente 
dados numéricos ou somente literais. Se usado somente para 
armazenamento de números, não poderá ser utilizada para 
expressões (operações matemáticas). 
Lógica Armazenam somente dados lógicos que podem ser Verdadeiro ou 
Falso. 
Indexada Armazenam variáveis uni e multidimensionais. 
Usuário Utilizada para variáveis não básica. São definidas através da 
instrução TIPO. 
 
Declaração e Atribuição de Variáveis 
As variáveis para utilizadas no programa devem ser declaradas (criadas) logo no início 
do algoritmo, na seção DECLARAÇÕES, quando será reservado espaço na memória. Só 
podem armazenar valores de um mesmo tipo. 
Todas as variáveis quando são criadas tem um conteúdo nulo (ou seja, nenhum 
conteúdo). 
Utilizamos o comando ATRIBUIÇÃO (  ), para atribuir valor a uma variável, bem como 
inicializá-la com um determinado valor. 
O sentido a seta é sempre da direita para a esquerda, e deve ser entendida como : ... um 
valor ATRIBUIDO a uma variável. 
 
 
 
 
13 
 
 
 
Estrutura de um Algoritmo 
 ALGORITMO(“Nome do algoritmo”) 
{Declarações} 
 Nome: caracter {a variável Nome é criada como caracter} 
 Idade: inteiro {a variável Idade é número inteiro} 
{Atribuições} 
 Nome ← “José da Silva” 
 Peso ← 85 
 INÍCIO (Nome do bloco) {se for o caso, de refinamento} 
{Instruções} 
 FIM 
Nome ← “José da Silva” (A variável “nome” recebe valor “José da Silva”) 
Peso ← 85 (A variável “Peso” recebe valor igual a 85) 
Observação: As seções Declarações e Atribuições são PÚBLICAS dentro do programa. Ou 
seja, são “vistas” em qualquer parte do programa. Dentro do Bloco, as seções Declarações 
e Atribuições são LOCAIS ao Bloco, ou seja, são privadas (particulares, internas) ao Bloco, 
conforme veremos em Refinamentos Sucessivos. 
 
Imaginando o funcionamento de um computador 
Vamos agora criar um algoritmo para somar dois números quaisquer. Podemos criar uma 
sequência de passos lógicos e encadeados para executar esta tarefa. Vamos ainda 
imaginar que você é um computador e que estes passos são ordens que você deverá 
seguir à risca. Cada retângulo abaixo é uma tela do computador onde estarão as 
instruções a serem executadas 
 
Passo 1 Início do processo – Separa três posições de memória para armazenar 
temporariamente 3 números aleatórios. Duas posições para armazenar 2 
números a serem informados e 1 posição para armazenar o resultado 
solicitado da operação entre os dois primeiros números. 
Passo 2 Leia o número que eu estou digitando agora na sua tela de vídeo: 25. 
Passo 3 Leia o segundo número que estou digitando agora na sua tela de vídeo: 30. 
Passo 4 Some estes dois números. 
Passo 5 Mostre o resultado nesta mesma tela: 55. 
Passo 6 Fim do processo. 
 
 
14 
 
 
 
Observamos até que um algoritmo precisa: 
1. Ter um início; 
2. Ser escrito em termos de ações (comandos) bem definidos; 
3. Que as ações sigam uma sequência ordenada e lógica. 
4. Ter um ponto de finalização. 
 
Programas de Computador 
Os programas de computadores nada mais são do que algoritmos escritos numa 
linguagem de computador, normalmente em inglês, (Pascal, C, Cobol, Fortran, Visual Basic, 
Delphi entre outras) e que são interpretados e executados por uma máquina, no caso um 
computador. Notem que dada esta interpretação rigorosa, um programa é por natureza 
muito específico e rígido em relação aos algoritmos da vida real. 
 
No nosso exemplo do tópico anterior nos antecipamos a este conceito que deverá ser 
melhor entendido agora. 
 
Para programar um computador precisamos dar “ordens” escritas ao mesmo “passo a 
passo”. Um computador é apenas uma máquina e não raciocina como nós humanos. Cada 
ordem é composta basicamente por um verbo que indique qual ação queremos que o 
mesmo execute, assim se queremos que o computador escreva algo na tela podemos usar 
algo como: 
 
WRITE (‘ESTOU ESCREVENDO ALGO NA TELA’) 
 
 
Fluxograma Convencional 
 
Sabemos que uma figura fala por mil palavras. No processo de aprendizado fixamos com 
mais facilidade imagens do que conceitos escritos. 
 
O diagrama de blocos ou fluxograma é uma forma padronizada eficaz para representar 
os passos lógicos de um determinado processamento. 
 
Com o diagrama podemos definir uma sequência de símbolos, com significado bem 
definido. Portanto, sua principal função é a de facilitar a visualização dos passos de um 
processamento. 
 
 
 
 
 
15 
 
 
 
 
 
O fluxograma é uma ferramenta usada e desenvolvida pelos profissionais de análise de 
sistemas, bem como, por alguns profissionais de Organização, Sistemas e Métodos. Tem 
como finalidade descrever o fluxo seja manual ou mecânico, especificando os suportes 
usados para os dados e informações. Usa símbolos convencionais, permitindo poucas 
variações. Representado por alguns desenhos geométricos básicos, os quais indicarão os 
símbolos de entrada de dados, do processamento dedados e da saída de dados, 
acompanhados dos procedimentos requeridos pelo analista de sistemas e a serem 
realizados pelo programador por meio do desenvolvimento do raciocínio lógico, o qual 
deverá solucionar o problema do programa a ser processado pelo computador. 
 
É uma ferramenta de uso em diversas áreas do conhecimento humano, por traduzir em 
formato gráfico algum procedimento ou norma. 
 
 
Simbologia 
 
Existem diversos símbolos em um diagrama de bloco. No decorrer do curso 
apresentaremos os mais utilizados. Veja no quadro abaixo alguns dos símbolos que 
iremos utilizar: 
 
Símbolo Nome Descrição 
 
Terminador Indica o início e o fim do fluxo do algoritmo. 
 
Seta de fluxo Indica o sentido do fluxo de execução do algoritmo. É 
através dela que os símbolos do fluxograma são 
conectados. 
 
Declaração Delimita a seção de declaração de variáveis. 
 
Entrada de 
dados 
Corresponde à instrução de entrada de dados através 
do teclado. 
 
Atribuição Símbolo utilizado para indicar cálculos e atribuição de 
valores. 
 
Saída de dados Corresponde à instrução de saída de dados. Os dados 
serão exibidos na tela do computador. 
 
Desvio 
condicional 
Divide o fluxo do programa em dois caminhos, 
dependendo do teste lógico que fica dentro do 
losango. 
 
 
 
 
 
 
16 
 
 
 
 
 
Exemplo: 
 
 
 
Operadores e Funções 
 
Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e 
avaliamos dados dentro do computador. Temos três tipos de operadores: 
 
 
Operadores Aritméticos 
 
Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da 
adição, subtração, multiplicação e divisão, podem utilizar também o operador para 
exponenciação. Os símbolos para os operadores aritméticos podem ser vistos ao lado: 
 
Operação Símbolo 
Adição + 
Subtração - 
Multiplicação * 
Divisão / 
Exponenciação ** ou ^ 
 
 
 
17 
 
 
 
 
 
Hierarquia das Operações Aritméticas 
 
1. ( ) o que estiver entre parênteses. 
2. Exponenciação. 
3. Multiplicação, divisão (o que aparecer primeiro). 
4. + ou – (o que aparecer primeiro) 
 
Exemplo: 
 
TOTAL = PREÇO * QUANTIDADE 
 
1 + 7 * 2 ** 2 – 1 = 28 
 
3 * (1 – 2) + 4 * 2 = 5 
 
 
Operadores Relacionais 
 
Os operadores relacionais são utilizados para comparar String de caracteres e números. 
Os valores a serem comparados podem ser caracteres ou variáveis. 
 
Igual a = 
Diferente de <> ou ≠ 
Maior que > 
Menor que < 
Maior ou igual a >= 
Menor ou igual a <= 
 
Estes operadores sempre retornam valores lógicos (Verdadeiro ou Falso / True ou False). 
Para estabelecer prioridades no que diz respeito a qual operação executar primeiro, utilize 
os parênteses. Os operadores relacionais são: 
 
Exemplos: 
 
Tendo duas variáveis A = 5 e B = 3, os resultados das expressões seriam: 
 
Expressão Resultado 
A = B Falso 
A <> B Verdadeiro 
A > B Verdadeiro 
A < B Falso 
A >= B Verdadeiro 
A <= B Falso 
 
18 
 
 
 
 
Operadores Lógicos 
 
Os operadores lógicos servem para combinar resultados de expressões, retornando se o 
resultadofinal é verdadeiro ou falso. 
 
Os operadores lógicos são: 
 
A tabela mostra todos os valores possíveis criados pelos três operadores lógicos. 
 
E (And) A expressão é verdadeira se todas as condições forem 
verdadeiras. 
OU (Or) A expressão é verdadeira se pelo menos uma condição for 
verdadeira. 
NÃO (Not) Inverte o valor da expressão ou condição, se verdadeira inverte 
para falsa e vice-versa. 
 
 
Exemplos: 
 
Suponha que temos três variáveis A = 5, B = 8 e C = 1. Os resultados das expressões 
seriam: 
 
Expressões Resultado 
A = B AND B > C Falso 
A <> B OR B < C Verdadeiro 
A > B NOT Verdadeiro 
A < B AND B > C Verdadeiro 
A >= B OR B = C Falso 
A <= B NOT Falso 
 
 
Funções Intrínsecas 
 
São funções que resumem uma série se operações básicas. Podem ser Aritméticas, 
quando no tratamento de números e Literais quando no tratamento de alfanuméricos. 
 
 
 
 
 
 
 
 
 
 
19 
 
 
 
 
 
Funções Aritméticas 
 
 Sintaxe Descrição 
Caracter Caracter(Num) Fornece o caracter correspondente a Num (entre 1 e 
255) de acordo com a tabela ASCII. 
Int Int(Num) Arredonda um número real Num para baixo, 
retornando a parte inteira mais próxima. 
Raiz Raiz(Num) Retorna uma raiz quadrada de Num. 
Abs Abs(Num) Retorna o valor absoluto de Num, que é um número 
sem o respectivo sinal. 
Div Div(Num;Divisor) Retorna o quociente da divisão de Num por divisor. 
Mod Mod(Num;Divisor) Retorna o resto depois da divisão de Num por divisor. 
 
 
Funções Literais Usuais 
 
 Sintaxe Descrição 
Ltrim Ltrim(Texto) Elimina de Texto espaços em branco à 
esquerda. 
Rtrim Rtrim(Texto) Elimina de Texto espaços em branco à direita.
Comp Comp(Texto) Fornece o total de caracteres de Texto 
incluindo espaços em branco. 
Direita Direita(Texto;NCaract) Retorna os últimos NCaract caracteres em 
Texto. 
Esquerda Esquerda(Texto;Núm_Carcat) Retorna os primeiros Núm_Caract caracteres 
em Texto. 
Sub Sub(Texto;N;M) Resulta uma parte de Texto que começa no 
caracter de numero N e tem tamanho M. 
Pos Pos(Texto;Parte) Indica a posição da primeira ocorrência de 
Parte em Texto. 
ASCII ASCII(Texto) Fornece o valor inteiro correspondente ao 
primeiro caractere de Texto, segundo a 
tabela ASCII. 
 
 
Estruturas Básicas de Controle 
 
Na maioria das vezes necessitamos tomar decisões no andamento do algoritmo. Essas 
decisões interferem diretamente no andamento do programa. Trabalharemos com dois 
tipos de estrutura. A estrutura de Decisão e a estrutura de Repetição. 
 
 
 
 
20 
 
 
 
 
 
Decisão 
 
Os comandos de decisão ou desvio fazem parte das técnicas de programação que 
conduzem a estruturas de programas que não são totalmente sequenciais. Com as 
instruções de SALTO ou DESVIO pode-se fazer com que o programa proceda de uma ou 
outra maneira, de acordo com as decisões lógicas tomadas em função dos dados ou 
resultados anteriores. As principais estruturas de decisão são: “Se Então”, “Se então 
Senão” e “Selecione Caso”. 
 
SE ENTÃO / IF ... THEN 
A estrutura de decisão “SE/IF” normalmente vem acompanhada de um comando, ou seja, 
se determinada condição for satisfeita pelo comando SE/IF então execute determinado 
comando. Imagine o exemplo abaixo, um algoritmo que determinado aluno somente 
estará aprovado se sua média for maior ou igual a 5.0, o diagrama de blocos ficaria 
conforme ao lado. 
SE Media >= 5.0 ENTÃO “Aluno Aprovado”. 
 
 
 
SE ENTÃO SENÃO / IF ... THEN ... ELSE 
 
A estrutura de decisão “SE/ENTÃO/SENÃO”, funciona exatamente como a estrutura “SE”, 
com apenas uma diferença, em “SE” somente podemos executar comandos caso a 
condição seja verdadeira, diferente de “SE/SENÃO” pois sempre um comando será 
executado independente da condição, ou seja, caso a condição seja “verdadeira” o 
comando da condição será executado, caso contrário o comando da condição “falsa” será 
executado. Ao lado o diagrama... 
 
21 
 
 
 
 
 
Em algoritmo ficaria assim: 
 
SE Media >= 5.0 ENTÃO 
 “Aluno Aprovado” 
SENÃO 
 “Aluno Reprovado” 
Fim SE 
 
 
 
No exemplo acima está sendo executada uma condição que, se for verdadeira, executa o 
comando “APROVADO”, caso contrário executa o segundo comando “REPROVADO”. 
Podemos também dentro de uma mesma condição testar outras condições. Como no 
exemplo a o lado: 
 
 
 
 
 
22 
 
 
 
SELECIONE CASO / SELECT ... CASE 
A estrutura de decisão SELECIONE/CASO é utilizada para testar, na condição, uma única 
expressão, que produz um resultado, ou, então, o valor de uma variável, em que está 
armazenado um determinado conteúdo. Compara-se, então, o resultado obtido no teste 
com os valores fornecidos em cada cláusula “Caso”. 
No exemplo do diagrama de blocos abaixo, é recebido uma variável “Op” e testado seu 
conteúdo, caso uma das condições seja satisfeita, é executado o bloco de comandos 
apropriado, caso contrário é executado a opção de comandos de caso senão. 
SELECIONE CASO 
Op 
CASO 1 
<comandos
> 
CASO 2 
<comandos
> 
CASO 3 
<comandos
> 
CASO 4 
<comandos
> 
CASO 5 
<comandos
> 
CASO SENÃO 
<comandos
> 
FimSelecione 
 
 
 
Enquanto <condição>, Faça (Do While ... Loop) 
Neste caso, o bloco de operações será executado enquanto a condição x for verdadeira. O 
teste da condição será sempre realizado antes de qualquer operação. Enquanto a 
condição for verdadeira o processo se repete. Podemos utilizar essa estrutura para 
trabalharmos com contadores. Em diagrama de bloco: 
 
 
23 
 
 
 
Exemplo de Contador 
 
Enquanto <condição> 
Faça 
<comandos> 
FimEnquanto 
 
 
Até que <condição>, Faça ... (Do Until ... Loop) 
Neste caso, o bloco de operações será executado até que a condição seja satisfeita, ou 
seja, somente executará os comandos enquanto a condição for falsa. Em diagrama de 
blocos: 
Exemplo de Até Diagrama 
 
Até <condição> Faça 
<comandos> 
FimAté 
 
 
 
 
 
 
 
 
24 
 
 
 
Repita ..., Enquanto <condição> (Do ... Loop While) 
Neste caso primeiro são executados os comandos, e somente depois é realizado o teste 
da condição. Se a condição for verdadeira, os comandos são executados novamente, caso 
seja falso é encerrado o comando DO. Em diagrama de bloco: 
Exemplo de Diagrama de Bloco 
 
Repita 
<comandos> 
Enquanto <condição> 
 
 
Repita ..., Até que <condição> (Do ... Loop Until) 
Neste caso, executa-se primeiro o bloco de operações e somente depois é realizado o 
teste de condição. Se a condição for verdadeira, o fluxo do programa continua 
normalmente. Caso contrário é processado novamente os comandos antes do teste da 
condição. 
Exemplo de Diagrama de Bloco 
 
Repita 
<comandos> 
Até que <condição> 
 
 
 
 
 
 
25 
 
 
 
Para ...de..., até...passo...faça...seguinte (For ... To ... Next) 
Tem seu funcionamento controlado por uma variável chamada contador. Sendo assim, 
executará um determinado conjunto de instruções, um determinado número de vezes, a 
passos (intervalos) controlados (de 2 em 2, de 3 em 3 ...). 
PARA <contador> DE <inicio> ATÉ 
<fim> PASSO <incremento> FAÇA 
<comandos> 
 
 
 
26 
 
 
 
Introdução às Macros 
Apresentamos o uso e a construção de macros com a linguagem de programação Visual 
Basic for Applications (VBA), que acompanha o Microsoft Excel 2013. Aborda como 
distinguir seus tipos, executá-los e trabalhar com suas opções de gravação. 
 
Macro e o Ambiente VBA 
Macro comandos são um conjunto de instruções dispostas de forma lógica com a 
finalidade de automatizar tarefas ou ações da planilha do Excel. São consideradas com o 
mesmo requinte da área de programação de computadores, pois as macros são 
constituídas de um conjunto de comandos e funções que atendem a certa necessidade 
específica, definida pelo próprio usuário. 
O termo macro comando é aqui utilizado no mesmo sentido em que se utiliza o termo 
linguagem de programação de computadores. A diferença entre as duas nomenclaturas 
consiste no fato de que uma linguagem de programação de computadores é uma 
ferramenta independente de trabalho, o que não ocorre com os recurso de macrocomandos, que, para serem utilizados, necessitam de um aplicativo em execução, como 
ocorre com o efeito de programação usado no programa de planilha eletrônica do Excel. 
O programa Microsoft Excel 2013 usa, para desenvolvimento de macro comandos, o 
ambiente Visual Basic for Applications (VBA) versão 7.0, compatível com o ambiente 
integrado de programação Visual Basic do pacote Visual Studio 6.0, de 1988. O pacote 
de programação Visual Studio é uma ferramenta que possui alguns ambientes de 
programação, destacando-se o ambiente integrado de programação Visual Basic, que 
opera com a linguagem de programação Structured BASIC. Tanto o ambiente Visual 
Basic como o ambiente VBA do Microsoft Excel 2013 usam a linguagem Structured 
BASIC, o que lhes dá certa similaridade na escrita de códigos, mas não em sua forma de 
execução. 
 
Ativação da Guia Desenvolvedor 
O Excel possui o ambiente VBA, dedicado à criação de macro comandos. Por ser um 
recurso destinado a uma parcela menor de usuários, encontra-se omitido no programa 
após a instalação, de forma que apenas os usuários que realmente necessitam desse 
recurso devem ativá-lo. 
 
27 
 
 
 
Caso a guia Desenvolvedor não esteja disponível (o que é provável após a instalação do 
programa), acompanhe os passos seguintes: 
Vá a guia Arquivo, opção Opções, categoria Personalizar Faixa de Opções. 
Na categoria Guias Principais, selecione a Caixa de seleção Desenvolvedor e acione o 
botão OK. A opção de habilitação da guia Desenvolvedor é do tipo Liga/Desliga, 
podendo ser habilitada ou desativada. 
 
Ambiente de configurações do Excel. 
 
Guia Desenvolvedor ativada, na última posição. 
 
 
 
 
28 
 
 
 
Ao selecionar a guia Desenvolvedor, são encontrados as ferramentas para a criação de 
macro e formulários. 
 
Ferramentas disponíveis na guia Desenvolvedor. 
Arquivos do Excel 
Os Formatos XML do Office apresentam várias vantagens, não só para desenvolvedores e 
para as soluções criadas por eles, mas também para usuários e organizações de todos os 
tamanhos. 
 Arquivos compactos: os arquivos são compactados automaticamente e, em alguns 
casos, podem ficar até 75% menores. Os Formatos XML do Office usam a tecnologia 
de compactação ZIP para armazenar documentos, o que permite economias de custo, 
reduzindo o espaço em disco necessário para o armazenamento de arquivos e 
diminuindo a largura de banda necessária para envio de arquivos por e-mail, redes e 
Internet. Ao abrir um arquivo, ele é automaticamente descompactado. Ao salvar um 
arquivo, ele é automaticamente compactado. Não é necessário instalar nenhum 
utilitário ZIP específico para abrir e fechar arquivos do Office. 
 Recuperação avançada de arquivos danificados: os arquivos são estruturados de 
uma maneira modular, que mantém separados os componentes de dados diferentes 
no arquivo. Isso permite que eles sejam abertos mesmo que um componente do 
arquivo (por exemplo, um gráfico ou uma tabela) esteja danificado ou corrompido. 
 Simples detecção dos documentos que contém macros: os arquivos salvos com o 
sufixo x padrão (por exemplo, .docx e .pptx) não podem conter macros VBA (Visual 
Basic for Applications) nem controles ActiveX. Portanto, não apresentam nenhum risco 
de segurança associado a esses tipos de código incorporado. Somente os arquivos 
cujas extensões terminam com m (por exemplo, .docm e .xlsm podem conter macros 
VBA e controles ActiveX, que são armazenados em uma seção separada no arquivo. As 
extensões diferentes para os arquivos facilitam a distinção entre os que contêm 
macros e aqueles que não contêm, além de facilitarem a identificação dos arquivos 
que contêm códigos mal-intencionados, identificados pelos softwares antivírus. Além 
disso, os administradores de TI podem bloquear os documentos que contêm macros 
ou controles indesejados, tornando ainda mais segura a abertura de documentos. 
 
 
29 
 
 
 
 Mais privacidade e controle de informações pessoais: é possível compartilhar 
documentos de forma confidencial, pois informações de identificação pessoal e 
comercial sigilosas, como nomes de autor, comentários, alterações controladas e 
caminhos de arquivo, podem ser facilmente identificadas e removidas com o Inspetor 
de Documentos. 
 Melhor integração e interoperabilidade de dados comerciais: a utilização dos 
Formatos XML do Office, como a estrutura de interoperabilidade de dados para o 
conjunto de produtos do Office, indica que documentos, planilhas, apresentações e 
formulários podem ser salvos em formato XML disponível gratuitamente para 
utilização e licenciamento, por qualquer usuário, sem pagamento de royalties. O Office 
também oferece suporte a esquemas XML definidos pelo cliente, que aprimoram os 
tipos de documentos do Office existentes. Isso significa que os clientes podem 
desbloquear facilmente as informações nos sistemas e utilizá-las em programas da 
família Microsoft Office. As informações criadas no Office podem ser facilmente 
usadas por outros aplicativos comerciais. Para abrir e editar um arquivo do Office, é 
preciso apenas um utilitário ZIP e um editor de XML. 
Tipo de arquivo XML Extensão 
Pasta de trabalho .xlsx 
Pasta de trabalho habilitada para macro .xlsm 
Modelo .xltx 
Modelo habilitado para macro .xltm 
Pasta de trabalho binária não XML .xlsb 
Suplemento habilitado para macro .xlam 
 
Tipos de Macro 
As macros podem ser divididas em três tipos, sendo de comando, de funções definidas 
pelo usuário e de sub-rotina, as quais são descritas em seguida. 
 
 
 
30 
 
 
 
 Macros de Comando – Esse é o tipo mais comum de procedimento. Geralmente, 
equivale a comandos de menu e Caixas de diálogo, utilizados somente nas regiões 
selecionadas de uma pasta de trabalho e suas planilhas. É como se os mesmos 
comandos do menu fossem executados diversas vezes. 
 Macros de Funções Definidas pelo Usuário – Esse tipo de procedimento trabalha de 
forma idêntica às funções incorporadas ao Excel. A diferença é que o usuário cria sua 
própria função. O efeito de trabalho desse tipo de macro não se verifica nas regiões 
previamente selecionadas. Essas macros sempre retornam um determinado valor. 
 Macro de Sub-Rotina – Esse procedimento é uma junção dos dois anteriores, pois 
tanto permite alterações em regiões previamente selecionadas como também retornar 
valores. Caracteriza-se pela possibilidade de ser chamada de dentro de outras macros, 
o que minimiza o uso de tarefas repetidas e torna o código de programação mais leve. 
Necessidade de Planejar uma Macro 
Jamais elabore uma macro sem planejá-la e rascunhá-la, pois o resultado pode ser o 
trabalho dobrado. Tenha o conceito a seguir sempre em mente: tudo o que é feito em um 
computador precisa ser planejado de antemão, não importa a experiência que você tenha. 
Uma construtora nunca ergue uma edificação sem sua respectiva planta, por mais 
tecnologia que possua ou conhecimento que tenha sobre o assunto. Sendo assim, aja da 
mesma forma. O processo de planejamento é fácil e muito útil, basta descrever todas as 
etapas a serem cumpridas para resolver o problema. Siga esse passos básicos: 
 Entenda o problema a ser resolvido, fazendo uma análise de cada parte dele, a fim de 
ter uma sólida ideia do que deve ser feito. 
 Planeje o procedimento manualmente, rascunhando em um papel. Em alguns casos, é 
aconselhável até elaborar um diagrama de blocos para completar a tarefa a ser 
executada mais rapidamente. 
 Somente após executados os passos anteriores, é que a codificação do procedimento 
pode ser feito na planilha. Em alguns casos, essa tarefa pode ser simplificada com a 
utilização do recurso de gravação de toques no teclado e no mouse. 
 Sempre deve-se atribuir um nome a um procedimento, para identificação e posterior 
execução. O nome precisa ser o amis sugestivo possível à sua função. 
 
 
 
 
31 
 
 
 
Ambiente Microsoft Visual Basic 
O ambiente de edição de macros do Visual Basic no Excel inclui um editor de código,um 
pesquisador de objeto hierárquico, um depurador multipainel, uma janela propriedades e 
um Explorer de projeto, para ajudar a visualizar e organizar o código e o objeto do 
projeto. Auxilia, assim, a escrever um código de programação sintaticamente correto. Para 
ativar o ambiente de programação de forma simples, execute: vá a guia Desenvolvedor, 
grupo Código, botão Visual Basic ou faça uso da tecla de atalho <Alt>+<F11>. 
 
 
Apresentação do ambiente Microsoft Visual Basic. 
O aplicativo Microsoft Visual Basic é um ambiente completo de desenvolvimento de 
programas (macros) e sua tela possui alguns componentes importantes. Todo aplicativo 
Windows tem uma Barra de Título, uma Barra de Menus e Barras de Ferramentas, porém o 
foco central de trabalho são três áreas no centro da tela, designadas Janela de Projetos, 
Janela de Propriedades e Janela de Código, que podem estar em exibição ou ocultas. 
A Janela de Projetos e, na verdade, um Explorer (com funcionamento semelhante ao 
Explorer do Windows), que exibe uma lista hierárquica dos projetos e todos os seus itens, 
como Formulários e Módulos. Essa janela possui três botões, ou elementos, que 
executam, respectivamente, da esquerda para a direita, Exibir código, Exibir objeto e 
Alternar pastas. 
 
32 
 
 
 
 
Janela de Projetos. 
A Janela de Propriedades lista as propriedades da fase de projeto dos objetos 
selecionados e suas definições atuais. Essas propriedades podem ser alteradas. Quando 
múltiplos controles são selecionados, a Janela de Propriedades apresenta uma lista das 
propriedades comuns a todos os controles selecionados. Essa janela possui três 
elementos: 
 Caixa Objeto: lista o objeto selecionado, deixando somente os objetos do formulário 
ativo visíveis. Se múltiplos objetos são selecionados, suas propriedades comuns e 
definições, baseadas no primeiro objeto selecionado, aparecem nas guias de listagem 
de propriedades, Alfabético e Categorizado. 
 
Janela de Propriedades. 
 
33 
 
 
 
 Alfabético: apresenta uma lista, em ordem alfabética, de todas as propriedades do 
objeto selecionado que podem ser alteradas na fase de projeto, assim como suas 
definições atuais. Para alterar uma propriedade, marque-a e digite ou selecione a nova 
definição. 
 Categorizado: exibe uma lista, por categoria, de todas as propriedades do objeto 
selecionado. Por exemplo, BackColor, Caption e ForeColor se encontram na 
categoria Aparência. Nessa guia, é possível reduzir a lista, a fim de visualizar as 
categorias ou expandir uma categoria para visualizar as propriedades. Quando uma 
categoria é expandida ou reduzida, ela é indicada com um sinal de adição (+) ou 
subtração (-) à esquerda do nome. 
A Janela de Código, é utilizada para gravar, exibir e editar códigos de programa Visual 
Basic. Uma Janela de Código pode ser aberta pelas janelas Projeto, Formulário ou 
Módulos, com um duplo clique ou pelo botão Exibir código, na Janela de Projetos. 
 
Janela de Código. 
Caixa Objeto 
Esse elemento apresenta o nome do objeto selecionado. Clique no botão drop-down, 
situado à direita da Caixa de listagem, para abrir uma lista de todos os objetos associados 
ao formulário. 
Caixa Procedimento/Evento 
Esse elemento lista todos os eventos de um formulário ou controle exibido na Caixa 
Objeto reconhecidos pelo Visual Basic. Quando um evento é selecionado, o 
procedimento associado a ele aprece na janela Código. 
 
34 
 
 
 
Caso seja exibido na Caixa Objeto (Geral), a Caixa Procedimento lista as declarações e 
todos os procedimentos gerais criados para o formulário. Caso o código de um módulo 
esteja sendo editado, a Caixa procedimento lista todos os procedimentos gerais no 
módulo. 
Em ambos os casos, o procedimento selecionado na Caixa Procedimento é exibido na 
Janela Código. Todos os procedimentos de um módulo aparecem em uma lista de 
rolagem, classificada em ordem alfabética. A seleção de um procedimento nas Caixas de 
listagem suspensas, localizadas na parte superior da Janela de Código, move o cursor 
para a primeira linha de código do procedimento selecionado. 
Barra de Divisão 
Quando essa Barra e arrastada para baixo, divide a Janela de Código em dois painéis 
horizontais, que podem ser rolados de modo independente. Em seguida, diferentes partes 
do código podem ser visualizadas ao mesmo tempo. As informações que aparecem nas 
Caixas Objeto e Procedimento/Evento se aplicam ao código no painel em foco. Para 
fechar um painel, arraste a Barra para a parte superior ou inferior da janela, ou, então, 
clique nela duas vezes. 
Barra do Indicador de Margem 
Trata-se de uma Barra cinzenta, situada do lado esquerdo da janela de Código. 
Ícone Exibir Procedimento 
Situado ao lado esquerdo inferior da Janela Código, esse botão exibe o procedimento 
selecionado. A janela Código só exibe um procedimento de cada vez. 
Ícone Exibir Módulo Completo 
Situado na parte inferior esquerda da janela Código, esse botão tem a finalidade de exibir 
todo o código do módulo. 
As demais informações para a utilização do ambiente de desenvolvimento são fornecidas 
à medida que os próximos capítulos usarem seus recursos. 
 
35 
 
 
 
Construção de uma Macro 
Macros são construídas e montadas no ambiente do Microsoft Visual Basic, o qual é 
aberto automaticamente pelo processo de gravação de macro. Para fazer um pequeno 
teste, vamos utilizar a forma mais simples de construção de macros, o recurso de 
gravação. 
Tudo o que for executado na planilha, em termos de digitação, formatação e acionamento 
de menus, é monitorado e transformado em código do Visual Basic, que fica associado à 
planilha. 
Procedimento 
Em primeiro lugar, certifique-se de que uma folha de planilha em branco esteja aberta e 
execute o comando: vá a guia Desenvolvedor, grupo Código, botão Gravar Macro. 
Abre-se a Caixa de diálogo Gravar macro, como indica abaixo, na qual devem ser 
informadas todas as lacunas editáveis para o início da documentação e da futura 
localização da macro. 
 
Caixa de diálogo Gravar macro. 
Observe que o Excel fornece automaticamente o nome Macro1 como sugestão para o 
nome da primeira macro, aberta nessa instância de trabalho. Essa macro terá por objetivo 
escrever um nome no meio da tela. 
Para tanto, escreva no campo de identificação de nomes, Nome da macro, o título 
Escreve_no_Centro. 
 
 
36 
 
 
 
Observação 
O nome informado no campo Nome da macro não pode ser iniciado por um número e 
não deve haver espaços em branco entre as palavras. 
Para melhor identificar um procedimento, apresenta-se, na Caixa de diálogo, uma área 
denominada Descrição. Nesse campo, você pode escrever um breve comentário sobre o 
procedimento, que, no caso, pode ser Apresentação de texto centralizado. 
Na mesma Caixa de diálogo existe também um botão drop-down, perto da opção 
Armazenar macro em, o qual permite selecionar uma entre três opções de 
armazenamento da macro a ser criada. 
 A opção Pasta de trabalho pessoal de macros faz a gravação de todas as macros em 
um arquivo denominado PESSOAL na pasta C:\Program Files\Microsoft 
Office\Office15\XLSTART, de modo que as macros desenvolvidas ficam disponíveis 
para uso por qualquer planilha. 
 A opção Esta pasta de trabalho permite a criação de macros na própria pasta de 
trabalho em uso. É utilizada para macros que devem estar perto das planilhas, sendo 
de uso exclusivo delas. 
 Já a opção Nova pasta de trabalho grava uma macro em outra pasta de trabalho, a 
qual pode ser utilizada com um número grande de planilhas de outras pastas. Esse 
recurso é muito parecido com a opção Pasta de trabalho pessoal de macros, porém, 
com ela, é possível escolher o nome da pasta de trabalho. Vale salientar que o arquivo 
gerado por essa opção não é carregado automaticamente, como acontece com o 
arquivo PESSOAL. 
Observação 
Além dos campos já trabalhados, existe ainda a opção Tecla de atalho, que permite a 
definição de uma letra associada à tecla <Ctrl>, as quais, usadasem conjunto, executam a 
macro desejada. Caso seja indicada uma letra maiúscula, o comando de atalho deve ser 
utilizado com a tecla <Shift>, além do <Ctrl> e a letra. Assim, se a letra E for informada, a 
combinação de teclas <Ctrl>+<Shift>+<E> deve ser executada. 
 
 
 
 
 
 
37 
 
 
 
 
Caixa de diálogo Gravar macro. 
Acione o botão OK. Observe, na Barra de Status da planilha, a indicação do botão Parar 
gravação. 
 
Barra de Status e o botão Parar gravação. 
Agora que o Excel passou a indicar que está gravando, basta executar os comandos 
desejados para que eles sejam registrados. Assim sendo, posicione o cursor sobre a célula 
A9, digite nesta célula o texto Teste de execução de macro e acione <Enter>. Selecione a 
faixa de células de A9 até I9 e execute o comando: na guia Página Inicial, grupo 
Alinhamento, botão Mesclar e Centralizar. 
Escolha o formato Negrito e clique, em seguida, no botão Parar gravação, que se 
encontra ao lado do prompt (pronto) na Barra de Status do programa. A macro foi criada e 
guardada em módulo do Microsoft Visual Basic. Para ver a macro criada, execute o 
comando: vá a guia Desenvolvedor, grupo Código, botão Visual Basic. 
 
 
 
38 
 
 
 
Na janela Projeto – VBAProject, selecione a pasta Módulos com um clique no sinal + e 
selecione, na sequência, Módulo1. 
 
Em seguida, veja a listagem completa da macro criada por meio do recurso de gravação. 
Todas as ações executadas durante o processo de gravação foram monitoradas e 
traduzidas para comandos macro. 
Sub Escreve_no_Centro() 
' 
' Escreve_no_Centro Macro 
' Apresentação de texto centralizado 
' 
' Atalho do teclado: Ctrl+Shift+E 
' 
 Range("A9").Select 
 ActiveSheet.Paste 
 Range("A9:I9").Select 
 With Selection 
 .HorizontalAlignment = xlCenter 
 .VerticalAlignment = xlBottom 
 .WrapText = False 
 .Orientation = 0 
 .AddIndent = False 
 .IndentLevel = 0 
 .ShrinkToFit = False 
 .ReadingOrder = xlContext 
 
39 
 
 
 
 .MergeCells = False 
 End With 
 Selection.Merge 
 Selection.Font.Bold = True 
End Sub 
 
Características Típicas de Macros em VBA 
Uma macro escrita em Visual Basic possui, tipicamente, as características descritas nos 
tópicos seguintes. 
 
Linhas de Comentários 
São as linhas iniciadas por ‘ (apóstrofo). Elas indicam para o Excel que são apenas linhas 
de comentários, não sendo, assim, processadas. São muito úteis, pois exibem o nome do 
procedimento, a data de sua criação, o nome de quem as fez e a descrição de sua 
finalidade. Essas mensagens só são apresentadas se forem informadas no momento da 
gravação. 
Sub Escreve_no_Centro() 
' 
' Escreve_no_Centro Macro 
' Apresentação de texto centralizado 
 
Comandos Sub/End Sub 
Essas palavras indicam o início e o final de um procedimento de comandos e, por esse 
motivo, são denominadas Procedimento Sub. Se o procedimento for do tipo função 
definida pelo usuário, apresentam-se as palavras Function/End Function que recebem o 
nome técnico de palavras-chave. 
Sub Escreve_no_Centro() 
 (Corpo do procedimento com o código de programa) 
End Sub 
 
 
 
 
40 
 
 
 
Nome do Procedimento 
O nome do procedimento é apresentado à frente da palavra-chave, seguido de 
parênteses, os quais são obrigatórios e podem ser usados para indicar argumentos, no 
caso de funções definidas pelo usuário. 
Sub Escreve_no_Centro() 
 
Código-Fonte do Procedimento 
É o código inserido entra as palavras-chave e representa toda ação monitorada e gravada. 
No exemplo anterior, o código foi distribuído em duas rotinas, com as palavras-chave 
With/End With. 
 With Selection 
 .HorizontalAlignment = xlCenter 
 .VerticalAlignment = xlBottom 
 .WrapText = False 
 .Orientation = 0 
 .AddIndent = False 
 .IndentLevel = 0 
 .ShrinkToFit = False 
 .ReadingOrder = xlContext 
 .MergeCells = False 
 End With 
 
Os demais comandos existentes no código de programa se referem às instruções de 
posicionamento do cursor dentro da planilha, como: 
Range("A9").Select 
 
O comando ActiveCell.FormulaR1C1 = “Teste de execução de macro” permite escrever 
dentro de uma célula da planilha. 
Para retornar à planilha, execute o comando pela janela Microsoft Visual Basic, no menu 
Arquivo, opção Fechar e voltar para Microsoft Excel (<Alt>+<Q>). Ou, então, 
selecione a folha de trabalho pelas teclas de atalho <Alt>+<Tab>. 
 
 
 
41 
 
 
 
 
 
Executar uma Macro 
Para ver o procedimento definido em funcionamento, selecione o Excel, pressionando as 
teclas <Alt>+<Tab> simultaneamente. 
Vá a guia Desenvolvedor, grupo Código, botão Macros na Caixa de diálogo Macro 
selecione a desejada e clique em Executar. 
 
 
 
 
42 
 
 
 
 
Observe que estamos salvando o nosso documento com o nome de Macro01 no entanto, 
na Caixa Tipo alteramos para Pasta de Trabalho Habilitada para Macro do Excel e, em 
seguida, clicamos em Salvar. 
A abertura de uma planilha que contém um arquivo de macro (VBA) associado ocorre 
depois de surgir um aviso de segurança, indicando que as macros estão desabilitadas. 
Para habilitar uma macro, acione o botão Habilitar Conteúdo, na mensagem de 
segurança. 
 
 
Macros de Endereço Absoluto e Relativo 
Ao usar o gravador para gerar um procedimento, por padrão ele define os endereços das 
células como absolutos, ou seja, toda vez que se aciona o procedimento, ele é executado 
na mesma posição. 
 
 
43 
 
 
 
Havendo a necessidade de um procedimento ocorrer em outras células da mesma 
planilha, é necessário utilizar o endereço relativo. Nesse ponto, você também aprende a 
executar uma macro com a utilização das teclas de atalho. 
Macro de Endereço Absoluto 
Para exemplificar, um procedimento bastante simples, que escreva o nome de uma 
empresa em uma célula, seu telefone duas células a frente e o nome do contato três 
células a frente, será desenvolvido. Acompanhe os passos seguintes. 
Peça uma nova pasta de trabalho e execute, em seguida, o comando, vá a guia 
Desenvolvedor, grupo Código, botão Gravar macro. 
 
Em Nome da macro, digite Absoluto e, no 
campo Tecla de atalho, digite a letra A, em 
maiúsculo, que exige o uso da combinação 
de teclas <Shift>+<Ctrl>+<A> para 
iniciar a execução da macro. 
 
Na área Armazenar macro em, mantenha 
selecionada a opção Esta pasta de 
trabalho e, no campo Descrição, digite 
Utilização de Endereço Absoluto. Ao lado 
exibimos a Caixa de diálogo Gravar macro 
com as opções selecionadas. 
 
Caixa de diálogo Gravar macro, com 
opções estabelecidas pelo usuário. 
 
Acione o botão OK, posicione o cursor sobre a célula A2 e digite o nome Magnum 
Informática. Na sequência, coloque o cursor sobre a célula C2 e digite 2222-2222. 
Posicione o cursor sobre a célula F2 e digite José Absoluto, coloque o cursor sobre a 
célula A2 e, então, clique em Parar gravação. 
 
44 
 
 
 
Posicione o cursor sobre a célula A1 e execute a sequência de teclas 
<Shift>+<Ctrl>+<A> algumas vezes. Perceba que as informações fornecidas são 
escritas sempre nas mesmas posições. 
 
Acompanhe um exemplo com endereços relativos. Apague as informações digitadas nas 
células da planilha, posicione o cursor sobre a célula A1 e execute o comando, na guia 
Desenvolvedor, grupo Código, botão Gravar macro. 
É aberta a Caixa de diálogo Gravar macro, digite, no campo Nome da macro o título 
Relativo e, no campo Tecla de atalho, digite a letra R maiúscula. Em Armazenar macro 
em, mantenha a opção Esta pasta de trabalho selecionada e, no campo Descrição, digite 
Utilização de endereço relativo. Na sequência, acione o botão OK. 
Selecione o botão Usar Referências Relativas, que se encontra no grupo Código. Dessa 
forma, o método de endereço absoluto passa a ser relativo. Posicione o cursor sobre a 
célula A2 e digite o nome Imobiliária Pavão. Depois, coloque o cursor sobre a célula C2 
e digite 3333-3333. E, em seguida, com o cursorsobre a célula F2, digite José Relativo. 
Depois, posicione o cursor sobre a célula A2 e interrompa a execução da macro. 
 
 
 
45 
 
 
 
Macro de Endereço Relativo 
O endereço relativo é naturalmente utilizado no preenchimento de planilhas cujos 
registros apontados devem estar sempre uma linha abaixo do último registro inserido. 
Para testar macro criada com a utilização do botão Usar Referências Relativas, 
pressione, simultaneamente, as teclas <Shift>+<Ctrl>+<R> algumas vezes. As 
informações fornecidas são escritas uma após a outra. 
 
Observação 
Para voltar ao padrão do Excel, que efetua a gravação de macros com endereços 
absolutos, não se esqueça de, na próxima gravação, desabilitar o botão Usar Referências 
Relativas. Fique sempre muito atento a essas duas condições de gravação. 
Após a realização dos testes anteriores, grave a planilha com o nome AbsRel. 
No código-fonte do Visual Basic, qual a diferença entre endereços absolutos e relativos? 
Para saber, abra o aplicativo Microsoft Visual Basic e localize a folha de trabalho 
Módulo1 em que foram gravadas as duas macros, conforme etapas anteriores. Se o 
Microsoft Visual Basic estiver fechado, execute o comando – na guia Desenvolvedor, 
grupo Código, botão Visual Basic. 
 
 
 
 
 
 
46 
 
 
 
 
Apresentação dos códigos Visual Basic gravados. 
 
Exemplo de Procedimento com Endereço Absoluto 
Sub Absoluto() 
' 
' Absoluto Macro 
' Utilização de Endereço Absoluto. 
' 
' Atalho do teclado: Ctrl+Shift+A 
' 
 Range("A2").Select 
 ActiveCell.FormulaR1C1 = "Magnum Informática" 
 Range("C2").Select 
 ActiveCell.FormulaR1C1 = "2222-2222" 
 Range("F2").Select 
 ActiveCell.FormulaR1C1 = "José Absoluto" 
 Range("A2").Select 
End Sub 
 
47 
 
 
 
Exemplo de Procedimento com Endereço Relativo 
Sub Relativo() 
' 
' Relativo Macro 
' Utilização de endereço relativo. 
' 
' Atalho do teclado: Ctrl+Shift+R 
' 
 ActiveCell.Offset(1, 0).Range("A1").Select 
 ActiveCell.FormulaR1C1 = "Imobiliária Pavão" 
 ActiveCell.Offset(0, 2).Range("A1").Select 
 ActiveCell.FormulaR1C1 = "3333-3333" 
 ActiveCell.Offset(0, 3).Range("A1").Select 
 ActiveCell.FormulaR1C1 = "José Relativo" 
 ActiveCell.Offset(0, -5).Range("A1").Select 
End Sub 
 Endereços Absolutos Endereços Relativos 
1 Range(“A2”).Select ActiveCell.Offset(1, 0).Range(“A1”).Select 
2 Range(“C2”).Select ActiveCell.Offset(0, 2).Range(“A1”).Select 
3 Range(“F2”).Select ActiveCell.Offset(0, 3).Range(“A1”).Select 
4 Range(“A2”).Select ActiveCell.Offset(0, -5).Range(“A1”).Select 
 
Na coluna Endereços Absolutos, estão os comandos que indicam exatamente o endereço 
das células a serem utilizadas. Note que as posições são sempre as mesmas, sendo A2: 
C2:, F2: e A2:, tantas quantas sejam as execuções do referido procedimento. 
Na coluna Endereços Relativos, encontram-se comandos com uma sintaxe diferente, os 
quais definem seu deslocamento desde a posição atual do cursor: 
 Por exemplo, tomando por base a célula inicial A1:, o comando ActiveCell.Offset(1, 
0).Range(“A1”).Select desloca o cursor uma linha para baixo, mantendo-o na mesma 
coluna. No caso, o cursor é posicionado sobre a célula A2:. 
 O comando ActiveCell.Offset(0, 2).Range(“A1”).Select mantém o cursor na mesma 
linha (linha 2) e o desloca duas colunas para a frente, posicionando-o sobre a célula 
C2:. 
 Em seguida, o comando ActiveCell.Offset(0, 3).Range(“A1”).Select mantém o cursor 
na mesma linha (linha 2) e o desloca três colunas para a frente, posicionando-o sobre 
a célula F2:. 
 
48 
 
 
 
 Por último, o comando ActiveCell.Offset(0, -5).Range(“A1”).Select mantém o cursor 
na mesma linha, retorcendo cinco colunas e posicionando-o sobre a célula A2:. 
Até o momento, a execução do endereçamento relativo foi idêntica à do endereçamento 
absoluto, mas é desse ponto em diante que vê-se a diferença, pois o cursor fica 
posicionado sobre a célula A2:. 
Executa-se novamente o procedimento de endereço relativo, em que o comando 
ActiveCell.Offset(1, 0).Range(“A1”).Select desloca o cursor uma linha para baixo, 
mantendo-o na mesma coluna. Nesse caso, o cursor é posicionado sobre a célula A3:. 
O comando ActiveCell.Offset(0, 2).Range(“A1”).Select mantém o cursor na mesma 
linha (agora linha 3) e o desloca três colunas para a frente, posicionando-o sobre a célula 
C3:. 
Em seguida, o comando ActiveCell.Offset(0, 3).Range(“A1”).Select mantém o cursor na 
atual linha (linha 3) e o desloca três colunas para a frente, posicionando-o sobre a célula 
F3:. 
Por último, o comando ActiveCell.Offset(0, -5).Range(“A1”).Select mantém o cursor na 
atual linha (linha 3) e o desloca três colunas, posicionando-o sobre a célula A3:. E assim 
por diante. 
O valor 0 (zero) encontrado no endereço mantém o cursor na posição atual. Um valor 
positivo avança o cursor e um valor negativo retrocede-o. É preciso somente colocar o 
valor no local correto. Veja que, no comando, são dois os valores a serem trabalhados: o 
primeiro que altera a posição da linha e o segundo que muda a posição da coluna, sendo 
sua sintaxe a que segue ActiveCell.Offset(Linha, Coluna).Range(“A1”).Select. No final, 
feche a planilha atual. 
Para voltar ao padrão de gravação de endereço absoluto, clique no botão Usar 
Referências Relativas, que se encontra no grupo Código. Dessa forma, o método de 
endereço absoluto volta a ficar ativo. 
Alerta 
Antes de gravar uma macro, verifique se você está usando referências absolutas em sua 
construção, pois com referências relativas, a macro ocasiona problemas. 
 
49 
 
 
 
Técnicas Gerais de Programação 
Estudaremos agora algumas técnicas de programação a serem utilizadas com o ambiente 
de desenvolvimento Visual Basic for Applications. O objetivo principal é apresentar 
outras formas de desenvolver macros, sem utilizar apenas os recursos abordados 
anteriormente que envolvem o uso do gerador de macro. 
 
Conceitos Básicos 
Primeiro, é necessário saber os conceitos básicos de objetos, propriedades, comandos e 
instruções, métodos, funções, variáveis, constantes, decisões, laços, operadores lógicos e 
operadores relacionais, assim como conhecer o modo de estabelecimento de valores para 
uma propriedade, utilizados pelo programa Excel. 
Procedimentos 
A primeira definição é a de procedimento, que, de forma geral, é denominado macro. No 
Visual Basic, é a unidade básica de programação, ou seja, o conjunto de códigos, ou 
instruções de forma lógica dentro do editor da linguagem Visual Basic, com a finalidade 
de executar uma operação preestabelecida. 
Comandos e Instruções 
Comandos são conjuntos de palavras-chave (palavras reservadas, conhecidas como 
instruções) que visam executar certa operação pela linguagem de programação de macro 
comandos. Na linguagem de programação Structured Basic, existem vários comandos 
que podem ser classificados como métodos, propriedades, objetos e funções. As 
instruções de uma linguagem de programação, seja ela pura ou vinculada a algum 
aplicativo, são chamadas de palavras-chave por estarem reservadas a uma operação 
preestabelecida. Vale salientar que nenhuma variável podem, em momento nenhum, ter o 
mesmo nome que uma palavra-chave. 
Objetos 
No Excel, um objeto é tudo que pode ser manipulado ou visualizado de alguma forma. 
Por exemplo, a tela do Excel é um conjunto de objetos, incluindo a barra de status, as 
células, as caixas de diálogo, a janela, a pasta de trabalho, um intervalo de células e uma 
planilha. O Excel possui mais de 120 tipos diferentes de objetos. Um objeto pode ser 
alterado de duas formas, seja por meio de suas propriedades ou de seus métodos. 
 
50 
 
 
 
Propriedades 
A propriedade de um objeto se refere aquilo que ele é, ou seja, ao seu conjunto de 
características, tanto em aparência quanto em posição. Por exemplo, considere o objeto 
televisão, que tem como propriedade imagem e som; um objeto rádio tem como 
propriedade apenas apresentar o som. 
Deve-se considerar que umapropriedade está vinculada a um objeto. Por exemplo, no 
Excel pode-se apontar como propriedade o fato de uma janela estar maximizada ou 
minimizada. A janela é o objeto; o fato de estar maximizada ou minimizada é sua 
propriedade. 
Em sintaxe, primeiro é preciso estabelecer a indicação do objeto e, depois, a indicação de 
sua propriedade, como segue Objeto.Propriedade. 
Métodos 
O método de um objeto refere-se àquilo que o objeto faz, ou seja, a seu funcionamento e 
ação. Por exemplo, considerando novamente o objeto televisão, com as propriedades de 
imagem e som apresentadas, elas podem ser sintonizadas em qualquer canal. O objeto 
rádio, com a propriedade de som apresentada, pode mudar a sintonia de uma estação. 
Deve-se considerar que um método está vinculado ao estado de um objeto e executa nele 
alguma operação. 
Com sintaxe, um método pode ser escrito de duas formas, com ou sem argumentos. Sem 
argumentos, a sintaxe consiste apenas em citar Objeto.Método. Com argumentos, a 
sintaxe de um objeto passa a ser indicada de uma maneira mais completa, por 
Objeto.Método(Argumento1, Argumento2, ..., ArgumentoN). 
Funções 
Funções são fórmulas embutidas que realizam cálculos especiais automaticamente. A 
linguagem Structured Basic do ambiente VBA possui algumas funções matemáticas 
básicas para efetuar certos cálculos, como arco tangente, cosseno, exponencial, logaritmo, 
geração de número aleatório, senos, raiz quadrada e tangente, além da possibilidade de o 
próprio usuário criar suas funções. 
 
 
 
 
51 
 
 
 
Valores de uma Propriedade 
Em alguns casos, é necessário, durante a execução de uma macro, definir alguns valores e 
passá-los a uma determinada propriedade. Para que um valor seja atribuído a uma 
propriedade, deve ser utilizada a sintaxe Objeto.Propriedade = Valor, em que o valor 
pode ser numérico, de strings (caracteres), uma constante ou uma fórmula que retorne 
uma constante. 
Algumas das macros criadas até o momento possuem esse recurso, como é o caso da 
primeira, em que essa característica fica bastante evidente. Acompanhe o exemplo de uma 
macro que utiliza valores em uma propriedade. Perceba que a macro usa o objeto célula 
ativa com a instrução ActiveCell. 
A instrução Font representa uma das propriedades do objeto ActiveCell, assim como a 
instrução FormulaR1C1 é uma das propriedades do objeto ActiveCell. As demais 
instruções citadas após Font (Bold, Size, Name, Strikethrough e ColorIndex) são os 
métodos. 
A macro seguinte tem o objetivo de escrever, na célula sobre o qual o cursor estiver 
posicionado, o string Livro de Excel, depois formata-lo em Negrito, mudar o tamanho da 
fonte para 18 e configurar a apresentação da fonte de letras para Courier New. 
Por último, o texto é formato como Tachado (com um risco no meio da mensagem) e 
também tem sua cor alterada para vermelho (código 3). 
A macro em questão pode ser desenvolvida com o uso do gravador. No entanto, neste 
exemplo, o processo será desenvolvido manualmente. Para tanto, crie um documento de 
trabalho no programa Excel, grave o novo arquivo com o nome Macro02. Então, abra o 
editor do Microsoft Visual Basic com o comando: 
Na guia Desenvolvedor, grupo Código, botão Visual Basic. 
 
No editor, execute o comando a seguir para abrir uma folha adequada à digitação do 
código: 
 
52 
 
 
 
Clique em Inserir e, em seguida, em Módulo. 
 
Escreva a macro seguinte e observe como deve ficar a tela do ambiente de programação, 
conforme demonstração a imagem acima. 
 
 
 
 
 
 
 
 
 
 
 
53 
 
 
 
 
Para executar a macro, volte para a tela da planilha e execute o comando: 
Vá a guia Exibição, grupo Macro, botão Exibir Macros. 
 
Apresenta-se a Caixa de diálogo Macro, com a macro recém-criada. Mantendo o foco de 
seleção na macro EscreveNome, acione o botão Executar e veja o efeito as aplicação da 
macro à planilha. 
 
 
 
 
 
54 
 
 
 
 
 
 
Múltiplos Métodos e Propriedades 
Com a utilização do exemplo anterior, é possível perceber que, na maioria da vezes, um 
objeto possui inúmeras propriedades e, por conseguinte. Vários métodos. 
Isso é obtido facilmente com instruções que indiquem as propriedades adequadas aos 
referidos objetos e, então, executem os métodos necessários. Se houver um nome de 
objeto muito grande, essa tarefa pode tornar-se muito trabalhosa e cansativa. Por 
exemplo, veja quantas vezes foi repetida a instrução ActiveCell.Font na macro (Macro02) 
exemplificada anteriormente. 
Essa não é uma linha muito grande, mas é suficiente para dar uma noção de como 
simplificar o código do procedimento. 
Ao trabalhar com múltiplos métodos e propriedades, a sintaxe pode ser simplificada com 
o uso da instrução With e End With da seguinte forma: 
 
 
 
55 
 
 
 
Sub EscreveNome2 () 
‘ 
‘ EscreveNome Macro 
 ActiveCell.FormulaR1C1 = “Training Education Services” 
 With ActiveCell.Font 
 .Bold = True 
 .Size = 18 
 .Name = “Courier New” 
 .Strikethrough = True 
 .ColorIndex = 3 
 End With 
End Sub 
Observe que não é necessário definir a parte do comando que cita ActiveCell.Font em 
todas as linhas. O comando With (que significa com) agrupa, para o objeto ActiveCell 
(que significa célula ativa), a propriedade Font, que possui vários métodos para atender a 
uma finalidade em comum. 
Escreva a macro EscreveNome2() no editor de programas do Visual Basic for 
Applications. Para executá-la, volte à tela da planilha. 
 
 
 
 
 
56 
 
 
 
 
 
 
 
 
Hierarquia das Propriedades 
Uma consideração a ser feita sobre propriedades está relacionada à hierarquia. É preciso 
tomar cuidado para não confundir esse atributo com os conceitos já apresentados, pois 
algumas propriedades tem características que permitem que sejam utilizadas como 
objetos. Elas passam a ter um método ou propriedade a ser trabalhada e a hierarquia 
ocorre de um objeto de nível mais alto até um objeto de nível mais baixo. 
Sendo assim, a sintaxe a ser utilizada pode ser um pouco mais complexa, por exemplo, 
estabelecendo uma macro que minimize a janela ativa do aplicativo Excel. 
 
57 
 
 
 
O Excel é o objeto Aplicativo, assim, a Janela Ativa é uma propriedade do objeto 
Aplicativo. 
É necessário estabelecer que a propriedade Janela Ativa esteja Minimizada, por meio da 
manipulação de seu estado de apresentação. Portanto, a apresentação de uma janela ativa 
como Minimizada é o valor estabelecido para o objeto Janela Ativa, que, anteriormente, 
era considerado uma propriedade. Em outras palavras, 
Aplicativo.JanelaAtiva.EstadoJanela = Minimizada. 
Abra a tela do ambiente VBA e veja um exemplo, em Visual Basic, de uma macro para 
minimizar a janela ativa: 
Sub SuperJanela () 
‘ 
‘ SuperJanela Macro 
‘ Apresentação de uma janela sendo minimizada 
‘ 
‘ 
 Application.ActiveWindow.WindowState = xlMinimized 
End Sub 
Escreva a macro SuperJanela() no editor de programas do Visual Basic for Applications. 
 
Volte para a tela da planilha e execute a macro realizada. 
 
 
 
58 
 
 
 
 
 
 
 
Observe na sua barra de tarefas que a janela do Microsoft Excel 2013 foi minimizada, 
tornando-se um ícone em destaque. 
No exemplo anterior, há a definição do valor xlMinimized para a propriedade 
WindowState, que atribui esse valor ao objeto ActiveWindow. Ele se torna, então, uma 
propriedade quando passa a informação ao objeto Application. O objeto ActiveWindow 
refere-se implicitamente ao objeto Application. Portanto, é possível reduzir o código da 
seguinte forma: 
 
 
 
 
59 
 
 
 
Sub SuperJanela2() 
‘ 
‘ SuperJanela Macro 
‘ Apresentação de uma janela sendo minimizada 
‘ 
‘ 
 ActiveWindow.WindowState = xlMinimized 
End Sub 
 
Escreva a macro SuperJanela2() no editor de programas do Visual Basic for 
Applications. 
Volte para a tela da planilha e execute a macro realizada. 
 
 
 
 
 
 
60 
 
 
 
 
 
Observe na sua barra de tarefas que a janela do Microsoft Excel 2013 foi minimizada, 
tornando-se um ícone em destaque.Variáveis, Constantes e Aritmética 
Os procedimentos e funções desenvolvidos em VBA no Excel podem necessitar de valores 
a serem fornecidos durante a execução de uma macro. Nesse caso, o melhor é trabalhar 
com variáveis, que são uma região de memória nomeada com um rótulo de identificação 
e que armazena certo valor por um determinado período de tempo. O valor de uma 
variável pode ser um dado alfabético, numérico, alfanumérico ou lógico. 
Isso significa que qualquer dado que venha a ser processado por um programa em um 
computador precisa ser previamente armazenado na memória. Geralmente, esse efeito 
ocorre por meio do uso de variáveis. 
O nome de uma variável é utilizado para identificação e posterior uso dentro do 
programa. É necessário levar em consideração algumas regras de utilização. 
 
 
 
 
61 
 
 
 
Acompanhe: 
 Nomes de variáveis podem ser atribuídos com um ou mais caracteres. 
 O primeiro caractere do nome de uma variável não pode ser, em hipótese alguma, um 
número. Deve ser sempre uma letra. 
 O nome de uma variável não pode possuir espaços em branco. 
 Palavras reservadas a uma instrução ou a um identificador de uma linguagem de 
programação, bem como os nomes de seus controles, não podem servir de nome 
para uma variável. 
 Outros caracteres, a não ser letras e números, não podem ser utilizados, com exceção 
do caractere underscore ( _ ), que pode ser utilizado para simular a separação de duas 
palavras, como Nome_Aluno, as quais também poderiam estar escritas como 
NomeAluno. 
Deve ser ainda considerado que, dentro de um programa, uma variável pode exercer dois 
papéis, sendo um o de ação, quando modificada ao longo de um programa para 
apresentar um determinado resultado, e o outro de controle, quando vigiada e 
controlada durante a execução de um programa (esse tipo de variável será estudado mais 
adiante, onde abordaremos a tomada de decisões e o uso de laços). 
Para usar variáveis, é necessário defini-las com o comando Dim no início de cada 
procedimento Sub ou Function. Além do nome da variável, é necessário estabelecer o 
tipo de dado que ela vai receber, com o comando de complemento As. Portanto, a sintaxe 
para uma variável é Dim <variável> As <tipo>, em que <variável> é o nome da variável 
e <tipo> é um tipo de dado, conforme a descrição do próximo tópico. 
Tudo o que é fixo, estável, inalterável, imutável, contínuo, incessante, invariável e de valor 
fixo pode ser considerado uma constante. Assim sendo, do ponto de vista computacional, 
semelhante ao conceito matemático, uma constante é uma grandeza numérica fixa, 
utilizada normalmente em uma expressão aritmética ou matemática, a qual define um 
valor que permanece inalterado na expressão, independentemente das variáveis 
envolvidas na operação a ser realizada. 
Como exemplo prático, pode-se considerar a constante matemática Pi que equivale ao 
valor aproximado 3,14159265, ou então a expressão matemática 
SAÍDA=ENTRADA+1,23, em que o valor 1,23 é a constante da expressão e SAÍDA e 
ENTRADA são, respectivamente, as variáveis da referida expressão. 
 
 
 
62 
 
 
 
Do ponto de vista computacional, além de constante ser um valor fixo, usado em uma 
expressão aritmética ou matemática, uma constante pode ser usada como rótulo de 
identificação, um nome pelo comando Const. Por exemplo, a expressão matemática 
SAÍDA=ENTRADA+PI é, do ponto de vista computacional, formada pelas variáveis 
SAÍDA e ENTRADA e pela constante PI, desde que a constante esteja previamente 
definida com a instrução Const PI = 3,14159265. 
Tanto variáveis como constantes podem ser utilizadas na elaboração de cálculos 
matemáticos com a utilização de operadores aritméticos. Os operadores aritméticos são 
classificados em binários ou unários. São binários quando atuam em variadas operações 
matemáticas. Observe a tabela a seguir: 
Operador Binário Operação a Ser Realizada 
^ Exponenciação de valores inteiros. 
+ Adição de valores inteiros e reais. 
- Subtração de valores inteiros e reais. 
* Multiplicação de valores inteiros e reais. 
/ Divisão de valores reais. 
\ Divisão de valores inteiros. 
Mod Resto da divisão de valores inteiros. 
= Operação de atribuição. 
& ou + Concatenação de caracteres. 
 
São unários quando atuam na inversão de um valor, atribuindo a ele o sinal positivo ou 
negativo. 
Operador Unário Operação a Ser Realizada 
+ Definição de números positivos. 
- Definição de números negativos. 
 
É importante considerar ainda a ordem de precedência da execução dos operadores 
aritméticos e a possibilidade de alterar essa ordem com o uso de parênteses. A tabela 
seguinte apresenta a ordem de execução dos operadores aritméticos. 
Operador Precedência 
^ Exponenciação. 
* | / Multiplicação/Divisão com quociente real. 
\ Divisão com quociente inteiro. 
Mod Resto da divisão. 
+ | - Adição/Subtração 
 
63 
 
 
 
Uma operação muito comum na programação de computadores é o uso de expressões 
aritméticas para estabelecer processamentos matemáticos. Define-se expressão aritmética 
como o relacionamento matemático entre variáveis e constantes numéricas por meio de 
operadores aritméticos. 
Na computação, as expressões aritméticas são escritas de modo diferente daquele 
conhecido na Matemática. Por exemplo, a expressão X = {43 . [ 55 : ( 30 + 2 ) ] } é 
escrita, na forma computacional, como X = ( 43 * ( 55 / ( 30 + 2 ) ) ). 
Perceba que as chaves e os colchetes são abolidos, utilizando-se, em seu lugar, apenas os 
parênteses. 
O sinal de implicação ou atribuído ( = ) é usado para indicar que o valor de uma expressão 
aritmética ou fórmula matemática está sendo armazenado em uma variável. 
Uma das funções de um programador é saber converter, em expressões aritméticas, as 
fórmulas matemáticas utilizadas pelos usuários dos programas por ele desenvolvidos. 
Nas expressões de cálculo das variáveis X1 e X2, a definição de DELTA ^(1/2) é a 
representação da extração da raiz quadrada de DELTA. Uma raiz, seja ela de qual índice 
for, pode ser extraída com o cálculo da exponenciação de sua base em relação ao valor 
inverso de seu índice. 
Além das constantes que podem ser definidas dentro de um programa de macro, há as 
constantes que são incorporadas e encontradas nas propriedades e nos métodos tanto do 
Excel como do Visual Basic for Applications. Para utilizar uma constante incorporada ao 
Excel, ela deve ser iniciada com as letras xl (xis e ele); já as constantes incorporadas ao 
Visual Basic são iniciadas por vb (vê e bê). 
Um exemplo de constante incorporada ao Excel é o valor xlMinimized, utilizado na macro 
SuperJanela, em que define-se a instrução ActiveWindow.WindowSate = xlMinimized. 
Neste exemplo, o valor xlMinimized é uma constante incorporada atribuída à 
propriedade WindowState do objeto ActiveWindow. 
Como exemplo de constante incorporada ao Visual Basic for Applications, há as 
constantes da Caixa de mensagem (MsgBox), as quais ainda serão vistas, sendo vbOK, 
vbCancel, vbYesNo, entre outros. 
 
 
 
 
64 
 
 
 
Tipos de Dados 
Os dados representam os elementos do mundo exterior, que são as informações 
manipuladas pelos seres humanos. Os dados a serem utilizados no computador devem 
primeiro ser abstraídos para, então, serem processados. Podem ser categorizados em três 
tipos primitivos ou básicos, sendo numéricos (representados por valores numéricos 
inteiros ou reais), caracteres (valores alfabéticos ou alfanuméricos) e lógicos (valores falsos 
e verdadeiros). 
O ambiente integrado Visual Basic for Applications fornece ao programador um 
conjunto de tipos de dados que atendem diversas necessidades, a saber: 
Tipo de Dado Tamanho Abrangência 
Byte 8 bits De: 0 
Até: 255 
Boolean 16 bits Falso: 0 ou False 
Verdadeiro: -1 ou True 
Integer 16 bits De: -32.768 
Até: 32.767 
Long 32 bits De: -2.147.483.648 
Até: 2.147.483.647 
Currency 2048 bits De: -922.337.203.685.477,5808 
Até: 922.337.203.685.477,5807 
Single 32 bits De: -3.402.8235e38 
Até: 3.402.8235e38

Continue navegando