Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Estudo 
avançado 
 
Microsof Excel 2007 
 
 
 
4 Sumário 
Sumário 
 
Apresentação .................................................................................................................. 11 
O que mudou no Excel 2007 ........................................................................................... 11 
Como a Faixa de Opções está organizada ............................................................. 12 
Comandos expansíveis ............................................................................................ 13 
Opções de grupos .................................................................................................... 14 
Barra de ferramentas acesso rápido ......................................................................... 15 
O que aconteceu com o menu Arquivo? ................................................................. 17 
Usando as novas teclas .......................................................................................... 18 
Modo de exibição ............................................................................................................ 19 
Exibição de acordo com resolução .................................................................................. 21 
Trabalhando com o Excel ................................................................................................ 23 
Abrindo arquivos ..................................................................................................... 23 
Novo formato de arquivo ................................................................................................. 24 
Como trabalhar com arquivos de versões anteriores do Excel ................................ 25 
Vantagens do novo formato .................................................................................... 26 
Diferenças entre os formatos .................................................................................. 27 
Trabalhando com Pastas de trabalhos e planilhas ........................................................... 28 
Linhas e colunas de uma planilha ............................................................................. 28 
Linha ........................................................................................................................ 29 
Coluna ...................................................................................................................... 29 
Conceito de célula .................................................................................................. 30 
Célula ativa............................................................................................................... 30 
Endereço da célula ................................................................................................... 31 
Intervalo de células................................................................................................... 32 
Criando uma nova pasta de trabalho ............................................................................... 32 
Abrir uma nova pasta de trabalho em branco .......................................................... 33 
Basear uma nova pasta de trabalho em uma pasta de trabalho existente............... 33 
Basear uma nova pasta de trabalho em um modelo ............................................... 33 
Inserir ou excluir uma planilha ................................................................................. 34 
Inserir uma nova planilha.......................................................................................... 34 
Inserir várias planilhas ao mesmo tempo .................................................................. 35 
Alterar o número de planilhas em uma nova pasta de trabalho ................................ 35 
Inserir uma nova planilha baseada em um modelo personalizado ............................ 36 
Salvar uma pasta de trabalho no formato Excel 2007 ............................................. 38 
Alterar o formato de arquivo padrão ......................................................................... 39 
Salvar uma pasta de trabalho do Excel 2007 em um formato de arquivo diferente ... 39 
Manipulação de Fórmulas ....................................................................................... 39 
Fórmulas ................................................................................................................. 39 
 
 
 
5 Sumário 
Operadores aritméticos ............................................................................................ 40 
Ordem das operações em fórmulas .......................................................................... 41 
Precedência de operadores ...................................................................................... 41 
Uso de parâmetros ................................................................................................... 42 
Referenciando outra célula em uma fórmula ........................................................... 43 
Referenciando colunas e linhas ................................................................................ 43 
Referência a uma outra planilha dentro da mesma pasta de trabalho ...................... 45 
Referência a outro arquivo do Excel ......................................................................... 46 
Referências relativas, absolutas e mistas ............................................................... 47 
Referência relativa.................................................................................................... 47 
Referência absoluta.................................................................................................. 48 
Referência mista ...................................................................................................... 48 
Criando uma fórmula............................................................................................... 48 
Criando uma fórumla simples ................................................................................... 49 
Criando fórmula com referência a outras células ...................................................... 50 
Criando uma fórmula utilizando funções ................................................................... 52 
Funções do Excel XP ...................................................................................................... 55 
Funções de busca e referência ............................................................................... 55 
PROCV .................................................................................................................... 55 
PROCH .................................................................................................................... 57 
COL .......................................................................................................................... 59 
COLS ....................................................................................................................... 60 
CORRESP ............................................................................................................... 61 
DESLOC .................................................................................................................. 63 
ENDEREÇO ............................................................................................................. 64 
ESCOLHER.............................................................................................................. 65 
HIPERLINK .............................................................................................................. 67 
INDIRETO ................................................................................................................ 68 
ÍNDICE .....................................................................................................................69 
LIN ........................................................................................................................... 70 
LINS ......................................................................................................................... 71 
Funções Financeiras ............................................................................................... 72 
DPD ......................................................................................................................... 72 
ÉPGTO ..................................................................................................................... 72 
IPGTO ...................................................................................................................... 74 
VF ............................................................................................................................ 75 
VP ............................................................................................................................ 77 
MTIR ........................................................................................................................ 78 
NOMINAL ................................................................................................................. 79 
NPER ....................................................................................................................... 80 
PGTO ....................................................................................................................... 82 
PPGTO ..................................................................................................................... 83 
TAXA ........................................................................................................................ 84 
TIR ........................................................................................................................... 86 
VPL .......................................................................................................................... 87 
 
 
 
6 Sumário 
Funções de Data e hora .......................................................................................... 89 
AGORA .................................................................................................................... 89 
ANO ......................................................................................................................... 90 
DATA........................................................................................................................ 91 
DATA.VALOR ........................................................................................................... 92 
DIA ........................................................................................................................... 93 
DIA.DA.SEMANA ..................................................................................................... 94 
DIA360 ..................................................................................................................... 95 
HOJE........................................................................................................................ 96 
MÊS ......................................................................................................................... 96 
VALOR TEMPO ....................................................................................................... 97 
Funções Lógicas ..................................................................................................... 98 
E............................................................................................................................... 98 
FALSO ..................................................................................................................... 99 
NÃO ......................................................................................................................... 99 
OU .......................................................................................................................... 100 
VERDADEIRO ........................................................................................................ 101 
Funções Estatísticas ............................................................................................. 101 
CONT.NÚM ............................................................................................................ 101 
CONT.SE ............................................................................................................... 102 
CONT.VALORES ................................................................................................... 103 
CONTAR.VAZIO .................................................................................................... 104 
CRESCIMENTO ..................................................................................................... 105 
FREQÜÊNCIA ........................................................................................................ 107 
MAIOR ................................................................................................................... 108 
MÁXIMO ................................................................................................................. 109 
MÁXIMOA .............................................................................................................. 110 
MED ....................................................................................................................... 111 
MÉDIA .................................................................................................................... 112 
MEDIASE ............................................................................................................... 113 
MÉDIASES ............................................................................................................. 115 
MEDIAA ................................................................................................................. 117 
MÉDIA.GEOMÉTRICA ........................................................................................... 118 
SOMASE ................................................................................................................ 119 
SOMASES ............................................................................................................. 120 
CONT.SE .............................................................................................................. 122 
CONTE.SES........................................................................................................... 124 
MENOR .................................................................................................................. 126 
MÍNIMO .................................................................................................................. 127 
MÍNIMOA .............................................................................................................. 128 
MODO .................................................................................................................... 129 
QUARTIL ................................................................................................................ 130 
Funções de texto .................................................................................................. 131 
CONCATENAR ...................................................................................................... 131 
DEF.NÚM.DEC ...................................................................................................... 132 
 
 
 
7 Sumário 
DIREITA ................................................................................................................. 133ESQUERDA ........................................................................................................... 134 
EXT.TEXTO ........................................................................................................... 135 
LOCALIZAR ........................................................................................................... 136 
Funções de tratamento de erro ...................................................................................... 137 
ÉERROS............................................................................................................... 137 
Fundamentos básicos de Macros e VBA ....................................................................... 140 
Introdução ............................................................................................................. 140 
O que são Macros? ........................................................................................... 140 
Como Exibir e alterar macros ................................................................................. 141 
Como Gerenciar suas macros Com o Editor do VBA .............................................. 142 
Programação no Excel - A linguagem VBA ........................................................... 142 
O que são Macros? ............................................................................................... 143 
Criando uma macro assistida ................................................................................. 144 
Executando a macro ............................................................................................... 145 
Conhecendo do que é feita uma Macro ................................................................. 147 
Acessando os comandos VBA................................................................................ 147 
Operações com Macros ........................................................................................ 150 
Renomeando uma macro ....................................................................................... 150 
Excluindo uma macro ............................................................................................. 151 
Alterando a tecla de atalho e o comentário associado com uma macro.................. 151 
Associando botões a macros ................................................................................ 152 
Assiciando um botão a uma macro ......................................................................... 155 
Introdução a linguagem VBA ......................................................................................... 159 
Por que aprender VBA? ........................................................................................ 159 
Programação com o Microsoft Excel ..................................................................... 160 
Vantagens em utilizarmos o VBA ........................................................................... 160 
O Ambiente de Programação - Editor VBA .......................................................... 161 
Acessando o Editor VBA ........................................................................................ 162 
VBA – Declaração de Variáveis ............................................................................ 165 
Declaração de variáveis e —tipos― de dados .......................................................... 165 
Utilização de variáveis não declaradas. .................................................................. 167 
VBA - Cálculos, Operadores Aritméticos e Exemplos ............................................ 170 
Fazendo cálculos com os Operadores aritméticos:................................................. 170 
Estrutura If...Then e os Operadores de Comparação ............................................ 172 
If Then Else ............................................................................................................ 172 
Operadores de comparação do VBA ...................................................................... 174 
Escopo de Variáveis e Variáveis do tipo Array ...................................................... 176 
O Escopo das variáveis, no VBA. ........................................................................... 176 
Escopo de procedimento / função / macro .............................................................. 176 
A estrutura Select...Case ........................................................................................ 179 
 
 
 
8 Sumário 
Estruturas For...Next, Do...While e Do...Until ........................................................ 180 
Estruturas de repetição. ......................................................................................... 180 
A estrutura For...Next. ............................................................................................ 181 
A estrutura Do...Loop ............................................................................................. 182 
A estrutura Do While Condição...Loop .................................................................... 182 
A estrutura Do... Loop While Condição ................................................................... 183 
A estrutura Do Until Condição...Loop...................................................................... 185 
A estrutura Do... Loop Until Condição..................................................................... 186 
Funções do VBA – Funções de Tipo – Parte 1 .............................................................. 188 
Tipos de dados e funções para conversão de tipos .............................................. 188 
Determinando o Tipo de Dados contido em uma variável. ...................................... 188 
A função IsArray. .................................................................................................... 188 
A função VarType. .................................................................................................. 191 
Funções do VBA – Funções de Tipo – Parte 2...................................................... 196 
A função IsDate. ..................................................................................................... 196 
A função IsEmpty. .................................................................................................. 197 
A função IsNull ....................................................................................................... 198 
A função IsNumeric. ............................................................................................... 199 
VBA – Funções para conversão de Tipos– Parte 1 ....................................................... 200 
Por que converter tipos? ....................................................................................... 200 
Função Cbool ......................................................................................................... 200 
Função CByte ......................................................................................................... 201 
Função CCur .......................................................................................................... 202 
Função CDate ........................................................................................................ 203 
Função CDbl .......................................................................................................... 204 
Função CInt ............................................................................................................ 204 
Função CLng .......................................................................................................... 205 
Função CSng ......................................................................................................... 205 
Função CStr ...........................................................................................................206 
Função Int .............................................................................................................. 207 
Funções para tratamento de Texto ....................................................................... 207 
Função Asc ............................................................................................................ 207 
Função Chr............................................................................................................. 208 
Função Len ............................................................................................................ 208 
Função LCase ........................................................................................................ 209 
Função UCase ....................................................................................................... 209 
Função Left ............................................................................................................ 209 
Função Right .......................................................................................................... 210 
Função Mid............................................................................................................. 211 
Função String ......................................................................................................... 212 
Funções de Data/Hora e Matemáticas ................................................................... 212 
Função Date ........................................................................................................... 212 
Função Time .......................................................................................................... 213 
Função Day ............................................................................................................ 213 
Função Month ........................................................................................................ 214 
 
 
 
9 Sumário 
Função Now ........................................................................................................... 214 
Função MonthName ............................................................................................... 215 
Função Hour........................................................................................................... 216 
A função DateDiff ................................................................................................... 216 
A função DateAdd .................................................................................................. 220 
Função Year ........................................................................................................... 221 
Função WeekDay ................................................................................................... 222 
Função WeekDayName.......................................................................................... 223 
Funções para Cálculos matemáticos .................................................................... 223 
Funções para cálculos matemáticos. ...................................................................... 223 
Alguns exemplos de utilização das funções matemáticas....................................... 225 
Estudo avançado da linguagem VBA ............................................................................. 226 
Modelo de Objetos do Excel VBA: ........................................................................ 226 
ADO - Activex Data Objects ................................................................................... 226 
Arquivo de texto e consultas da Web...................................................................... 226 
Assinatura digital .................................................................................................... 226 
Edição em várias línguas........................................................................................ 227 
Fontes de dados OLAP para relatórios de tabela dinâmica e gráfico dinâmico: ...... 227 
Microsoft Office E-mail ........................................................................................... 227 
Microsoft Office Web Components ......................................................................... 227 
Relatórios de gráfico dinâmico................................................................................ 227 
Salvar para Web e para edição com Office Web .................................................... 228 
Script de página da Web ........................................................................................ 228 
Visual Basic For Applications 6.0 ............................................................................ 228 
Bibliotecas, Objetos, Propriedades, Métodos e Referências .................................. 228 
A Estrutura For...Each ............................................................................................ 231 
Criando suas próprias funções e procedimentos .................................................... 234 
Criando e utilizando Sub-rotinas ............................................................................. 235 
Criando e utilizando Funções ................................................................................. 240 
Trabalhando com o objeto Application .................................................................. 243 
O objeto Application ............................................................................................... 244 
Trabalhando com o Objeto Workbook ................................................................... 247 
A coleção Workbooks ............................................................................................. 249 
Trabalhando com o Objeto Worksheet .................................................................. 251 
Propriedade ActiveSheet ........................................................................................ 254 
Propriedade Visible ................................................................................................ 254 
Propriedade UsedRange ........................................................................................ 255 
Trabalhando com o Objeto Range ........................................................................ 255 
O objeto Range ...................................................................................................... 256 
Propriedade Range ................................................................................................ 256 
Propriedade Offset ................................................................................................. 258 
Método Union: ........................................................................................................ 258 
O Objeto Application – Propriedades e Métodos – Parte I .................................... 260 
Propriedade ThisWorkBook .................................................................................... 260 
 
 
 
10 Sumário 
Propriedade ActiveCell: .......................................................................................... 261 
Propriedade ActiveSheet ........................................................................................ 262 
Propriedade Calculation ......................................................................................... 262 
Propriedade DefaultFilePath ................................................................................... 263 
Propriedade DefaultSaveFormat: ........................................................................... 263 
Propriedade RecentFiles ........................................................................................ 264 
Método InputBox ....................................................................................................265 
Método FindFile ...................................................................................................... 267 
Método GetOpenFilename ..................................................................................... 268 
Método SendKeys .................................................................................................. 269 
O Objeto Workbook – Propriedades e Métodos – Parte I ...................................... 273 
Ativar uma pasta de trabalho .................................................................................. 273 
Abrir uma pasta de trabalho ................................................................................... 274 
Salvar documentos como páginas da Web ............................................................. 275 
Personalizar a página da Web ................................................................................ 275 
Abrir um documento HTML em Microsoft Excel ...................................................... 276 
Propriedade Count ................................................................................................. 277 
Propriedade Item (coleção Workbooks) .................................................................. 278 
Propriedade Parent ................................................................................................ 279 
Método Add (coleção Workbooks): ......................................................................... 279 
Método Close: ........................................................................................................ 280 
Worksheet e Range – Propriedades e Métodos – Parte I ............................................... 286 
Worksheet e Range – Propriedades e Métodos – Parte II ...................................... 292 
Loop através de um intervalo de células ................................................................. 296 
Selecionar e ativar células............................................................................ 298 
Selecionar células na planilha ativa ........................................................................ 299 
Ativar uma célula dentro de uma seleção ............................................................... 299 
Trabalhar com a célula ativa ................................................................................... 300 
Mover a célula ativa ............................................................................................... 300 
Selecionar as células ao redor da célula ativa ........................................................ 300 
UserForm (fomulários em Visual Basic) ......................................................................... 301 
Criando um Userform ............................................................................................ 301 
 
 
 
 
 
11 Apresentação 
Apresentação 
Aqui está você, com uma nova versão do Excel. Quando abrir o Excel, você verá as 
planilhas bem conhecidas com as quais está acostumado. Também verá coisas que são 
novas na parte superior da janela. 
A antiga aparência de menus e botões do Excel foi substituída por essa nova Faixa de 
Opções, com guias que você clica para chegar nos comandos. A Faixa de Opções foi 
desenvolvida para simplificar a utilização do Excel e ajudá-lo a encontrar mais 
rapidamente e trabalhar com os comandos necessários. 
Como utilizar a Faixa de Opções? Faça esse curso para descobrir. Veja o que mudou e 
por que as alterações ajudam você a fazer melhores planilhas do Excel, mais 
rapidamente. 
O que mudou no Excel 2007 
Sim, há muita mudança. Ela é mais notável na parte superior da janela. 
Mas é uma boa mudança. O que você precisa agora está mais visível e mais fácil de 
acessar. Em vez de ter cerca de 30 barras de ferramentas não exibidas e comandos 
escondidos em menus, você tem uma central de controle — a Faixa de Opções, que 
reúne os itens essenciais e os torna bastante visuais. 
Quando experimentar o novo design, você vai descobrir que os comandos que já sabe 
usar estão agrupados de maneira que fazem sentido para você. 
Aprenda mais sobre o novo design e prepare-se para trabalhar com a sua nova e 
instigante versão do Excel. 
 
 
A Faixa de Opções substitui os confusos 
menus das versões antigas. 
 
 
 
12 O que mudou no Excel 2007 
Como a Faixa de Opções está organizada 
 
Há três componentes básicos para a Faixa de Opções: 
 Guias Existem sete guias na parte superior. Cada uma representa tarefas principais 
executadas no Excel. 
 Grupos Cada guia tem grupos que mostram itens relacionados reunidos. 
 Comandos Um comando é um botão, uma caixa para inserir informações ou um 
menu. 
Como começar? No começo, pela primeira guia. 
Os principais comandos do Excel estão na primeira guia, a guia Início . Os comandos 
dessa guia são aqueles que a Microsoft identificou como os mais comumente usados 
quando as pessoas realizam tarefas básicas com planilhas. 
Por exemplo, os comandos Colar, Recortar e Copiar são organizados primeiramente na 
guia Início, no grupo Área de Transferência. Os comandos de formatação de fonte 
estão próximos, no grupo Fonte. Comandos para centralizar o texto ou alinhar texto à 
esquerda ou à direita estão no grupo Alinhamento e comandos para inserir e excluir 
células, linhas, colunas e planilhas estão no grupo Células. 
 
 
 
13 O que mudou no Excel 2007 
Os grupos reúnem todos os comandos de que você pode precisar para um tipo específico 
de tarefa e, durante toda a tarefa, eles permanecem em exibição e disponíveis, em vez 
de serem ocultados em menus. Esses comandos vitais ficam visíveis acima do seu 
espaço de trabalho. 
Veja um exemplo da conveniência: se desejar que o texto seja exibido em várias linhas 
de uma célula, não é necessário clicar em um comando de um menu, clicar em uma guia 
de uma caixa de diálogo e, em seguida, em uma opção na caixa de diálogo. Basta clicar 
no botão Quebrar texto automaticamente no grupo Alinhamento na guia Início. 
Você tentará isso na sessão prática. 
Comandos expansíveis 
 
Crie um gráfico clicando em um botão na guia Inserir no grupo Gráficos. Em seguida, as 
guias Ferramentas de Gráfico ficam disponíveis: Design, Layout e Formato. 
Os comandos na Faixa de Opções são aqueles utilizados com mais freqüência. Em vez 
de mostrar todos os comandos a todo momento, o Excel 2007 mostra alguns comandos 
quando eles podem ser necessários, em resposta a uma ação efetuada por você. 
Por exemplo, se você não tem um gráfico em sua planilha, os comandos para trabalhar 
com gráficos não são necessários. 
 
 
 
14 O que mudou no Excel 2007 
Mas depois de criado um gráfico, as Ferramentas de Gráfico aparecem com três 
guias:Design, Layout e Formato. Nessas guias, você encontrará os comandos 
necessários para trabalhar com o gráfico. A Faixa de Opções responde à sua ação. 
Use a guia Design para alterar o tipo de gráfico ou para mover o local do gráfico; a guia 
Layout para alterar títulos de gráficos ou outros elementos gráficos; e a 
guia Formato para adicionar cores de preenchimento ou para alterar estilos de linha. 
Quando concluir o gráfico, clique fora da área do gráfico. As Ferramentas de 
Gráfico desaparecem. Para reexibi-las, clique dentro do gráfico. As guias reaparecem. 
Portanto, não se preocupe se não vir todos os comandos necessários em todos os 
momentos. Execute as primeiras etapas. Em seguida, os comandos necessários estarão 
visíveis. 
Opções de grupos 
 
Clique na seta na parte inferior de um grupo para obter mais opções se precisar delas.
 
Quando vir esta seta (denominada Iniciador de Caixa de Diálogo) no canto inferior 
direito de um grupo, haverá mais opções disponíveis parao grupo. Clique na seta e você 
verá uma caixa de diálogo ou um painel de tarefas. 
Por exemplo, na guia Início, no grupo Fonte, você tem todos os comandos usados com 
mais freqüência para fazer alterações de fonte: comandos para alterar a fonte, alterar o 
tamanho da fonte e aplicar negrito, itálico ou sublinhado. 
 
 
 
15 O que mudou no Excel 2007 
Se desejar mais opções, como sobrescrito, clique na seta à direita de Fonte e você 
verá a caixa de diálogo Formatar Células, que tem sobrescrito e outras opções 
relacionadas a fontes. 
Barra de ferramentas acesso rápido 
Logo no início, existe uma pequena barra de ferramentas para acesso rápido. Esta barra 
fica imutável em relação à Faixa de Opções. 
 
Inserindo e removendo itens da Barra de ferramentas de acesso rápido 
Se você usa com freqüência comandos que não estão disponíveis como gostaria, é 
possível adicioná-los facilmente à Barra de Ferramentas de Acesso Rápido, que está 
acima da Faixa de Opções, quando você inicia o Excel 2007 pela primeira vez. Nessa 
barra de ferramentas, os comandos estão sempre visíveis e ao alcance da mão. 
Por exemplo, se você usa o AutoFiltro todos os dias e não deseja ter de clicar na guia 
Dados para acessar o comando Filtrar todas as vezes, é possível adicionar Filtrar à 
Barra de Ferramentas de Acesso Rápido. 
Para isso, clique com o botão direito do mouse em Filtrar na guia Dados e, em seguida, 
clique em Adicionar à Barra de Ferramentas de Acesso Rápido. 
Para remover um botão dessa barra de ferramentas, clique com o botão direito do mouse 
na barra de ferramentas e clique em Remover da Barra de Ferramentas de Acesso 
Rápido. 
 
 
 
16 O que mudou no Excel 2007 
Clique em Executar para ver o processo de adicionar um botão à barra de ferramentas e, 
em seguida, remover um botão da barra de ferramentas. 
 
Adicionando um comando 
 
Comando adicionado 
 
 
 
17 O que mudou no Excel 2007 
 
Removendo um item 
O que aconteceu com o menu Arquivo? 
No Excel 2007, o menu Arquivo foi substituído pelo Botão Microsoft Office . Clique 
nesse botão no canto superior esquerdo da janela para obter os mesmos comandos 
básicos que utilizava no passado para abrir, salvar e imprimir suas pastas de trabalho. 
Aqui você também encontrará as configurações do programa que controlam itens como o 
estilo de referência R1C1, quantas planilhas em branco existem em uma nova pasta de 
trabalho e em qual direção o cursor vai depois que você pressionar ENTER. 
Clique em Opções do Excel na parte inferior desse menu e, em seguida, clique em 
qualquer uma das categorias na lista à esquerda. 
Em versões anteriores do Excel, você poderia definir opções na caixa de diálogo Opções, 
aberta a partir do menu Ferramentas. Agora, muitas dessas opções estão disponíveis 
utilizando-se o Botão Microsoft Office, onde estão mais visíveis e convenientemente à 
mão quando você inicia o trabalho com arquivos antigos ou novos. 
 
 
 
18 O que mudou no Excel 2007 
 
Botão Microsoft Office 
Atalhos de teclado 
Se você usa mais o teclado do que o mouse, deseja saber sobre atalhos de teclado no 
Excel 2007. 
O design da Faixa de Opções vem com novos atalhos. Por quê? Porque essa alteração 
traz duas grandes vantagens em relação a versões anteriores: 
 Atalhos para cada botão na Faixa de Opções. 
 Atalhos que geralmente exigem poucas teclas. 
 
Usando as novas teclas 
Os novos atalhos também têm um novo nome: Dicas de Tecla. Você pressiona ALT para 
fazer com que as Dicas de Tecla apareçam. 
 
 
 
19 Modo de exibição 
Você verá Dicas de Tecla para todas as guias da Faixa de Opções, todos os comandos 
nas guias, a Barra de Ferramentas de Acesso Rápido e o Botão Microsoft Office. 
Pressione a tecla da guia que deseja exibir. Isso faz com que todas as identificações de 
Dica de Tecla dos botões dessa guia apareçam. Em seguida, pressione a tecla do botão 
desejado. 
E quanto aos antigos atalhos de teclado? Os antigos atalhos de teclado que 
começam com CTRL ainda funcionam e você pode usá-los como sempre fez. Por 
exemplo, o atalho CTRL+C ainda copia um elemento para a área de transferência e o 
atalho CTRL+V ainda cola um elemento da área de transferência. 
Modo de exibição 
A Faixa de Opções não é a única novidade no Excel 2007. O modo de exibição de 
Layout da Página também. Se você tiver trabalhado no modo de exibição de Layout de 
Impressão no Microsoft Office Word, ficará satisfeito em ver o Excel com vantagens 
semelhantes. 
Para ver o novo modo de exibição, clique em Modo de Exibição de Layout da 
Página na barra de ferramentas Modo de Exibição na parte inferior direita da 
janela. Ou clique na guia Modo de Exibição na Faixa de Opções e, em seguida, clique 
em Modo de Exibição de Layout da Página no grupo Modos de Exibição de Pasta de 
Trabalho. 
No modos de exibição de Layout da Página há margens de página na parte superior, nas 
laterais e na parte inferior da pasta de trabalho e em um pequeno espaço azul entre as 
pastas de trabalho. As réguas na parte superior e na lateral ajudam a ajustar as margens. 
Você pode ativar e desativar as réguas, conforme necessário (clique em Régua no grupo 
Mostrar/Ocultar na guia Exibir). 
Com esse novo modo de exibição, você não precisa visualizar a impressão para fazer 
ajustes na pasta de trabalho antes de imprimir. Você verá mais informações sobre isso na 
próxima lição. 
É fácil adicionar cabeçalhos e rodapés no modo de exibição de Layout da Página. 
Quando você digita na nova área de cabeçalho e rodapé na parte superior ou inferior e 
uma página, a guia Design é aberta com todos os comandos necessários para criar seus 
cabeçalhos e rodapés. Mais informações sobre isso também na próxima lição. 
 
 
 
20 Modo de exibição 
Você pode ver cada planilha em uma pasta de trabalho no modo de exibição que melhor 
funciona para essa planilha. Basta selecionar um modo de exibição na barra de 
ferramentas Modo de Exibição ou no grupo Pastas de Trabalho na guia Exibir de cada 
planilha. O modo de exibição Normal e a visualização de Quebra de Página estão ambas 
lá. 
Dica Se você gosta do modo de exibição de Layout da Página, mas preferia ter um 
pouco menos de espaço em branco nas margens, é possível ocultar um pouco desse 
espaço em branco. Mostraremos como na sessão prática no final da lição. 
 
O novo modo de exibição de Layout da Página no Excel. 
 Títulos de colunas. 
 Títulos de linhas. 
 Réguas de margens. 
 
 
 
21 Exibição de acordo com resolução 
Exibição de acordo com resolução 
 
O grupo Mostrar/Ocultar na guia Exibir. Todos os comandos no grupo são exibidos em 
alta resolução. Em baixa resolução, você precisa clicar na seta do botão de grupo para 
exibir os comandos. 
Tudo sobre o que falamos até o momento se aplicará se a sua tela estiver configurada 
como alta resolução e a janela do Excel estiver maximizada. Caso contrário, a aparência 
será diferente. Como? Assim: 
Baixa resolução Se a sua tela estiver configurada para uma resolução baixa, por 
exemplo, para 800 por 600 pixels, alguns grupos na Faixa de Opções exibirão apenas o 
nome do grupo, não os comandos no grupo. Você precisará clicar na seta do botão de 
grupo para exibir os comandos. 
Por exemplo, na guia Exibir, o grupo Mostrar/Ocultar tem vários comandos para mostrar 
ou ocultar vários itens. Com uma resolução maior, você verá todos os comandos no 
grupo Mostrar/Ocultar. Na resolução de 800 por 600, você verá o 
botão Mostrar/Ocultar, não os comandos no grupo. 
Nesse caso, você clicará na seta no botão do grupo Mostrar/Ocultar para exibir os 
comandos no grupo. 
Os grupos que exibem apenas o nome dogrupo em uma resolução menor são aqueles 
que têm comandos usados com menos freqüência. 
 
 
 
22 Exibição de acordo com resolução 
Minimizado Em qualquer resolução, se você diminuir a janela do Excel, há um tamanho 
no qual alguns grupos exibirão apenas os nomes do grupo, e você precisará clicar na 
seta no botão do grupo para exibir os comandos. 
Tablet PCs Se você estiver trabalhando em um Tablet PC com uma tela menor, notará 
que a Faixa de Opções se ajustará para mostrar versões menores de guias e grupos. Se 
tiver um monitor maior, a Faixa de Opções se ajustará para mostrar versões maiores das 
guias e dos grupos. 
 
 
 
 
23 Trabalhando com o Excel 
Trabalhando com o Excel 
 
 
Neste tópico serão abordados comandos e funcionalidades básicas do Excel 2007. 
Abrindo arquivos 
Você está abrindo uma pasta de trabalho existente criada em uma versão anterior do 
Excel. Clique no Botão Microsoft Office no canto superior esquerdo da janela. Lá 
você obtém os mesmos comandos utilizados no passado para abrir e salvar suas pastas 
de trabalho. 
Antes de começar a trabalhar, observe que esse menu inclui itens úteis. Por exemplo, 
aqui é onde você encontra as configurações do programa que controlam ações como a 
ativação ou desativação do estilo de referência R1C1 ou a exibição da Barra de Fórmulas 
na janela do programa. Clique em Opções do Excel na parte inferior do menu para 
acessar as opções. 
Em versões anteriores do Excel, você poderia definir tais opções na caixa de diálogo 
Opções, aberta a partir do menu Ferramentas. Agora, muitas dessas opções estão aqui, 
onde estão mais visíveis e convenientemente à mão, quando você inicia o trabalho com 
arquivos antigos ou novos. 
Agora, voltando a essa pasta de trabalho, clique em Abrir, selecione a pasta de trabalho 
desejada e, em seguida, clique em Abrir. 
 
 
 
24 Novo formato de arquivo 
Isso é tudo o que é necessário fazer para abrir um arquivo criado em uma versão 
anterior. Você está pronto para começar a trabalhar. 
 
 
 
1. Clique no Botão Microsoft Office para abrir esse menu. 
2. No menu, clique em Abrir para abrir uma pasta de trabalho existente. 
3. Ou clique em Opções do Excel na parte inferior do menu, para definir as opções 
do programa. 
Novo formato de arquivo 
O Excel 2007 tem um novo formato de arquivo. Por que? Aumento da segurança de seus 
arquivos; risco reduzido de corrupção de arquivo; tamanho reduzido de arquivo; e novos 
recursos. 
Não entre em pânico, você não terá problemas para abrir e editar uma pasta de trabalho 
antiga no Excel 2007. 
Continue lendo para descobrir como é possível compartilhar suas planilhas do Excel 2007 
com pessoas que ainda não tenham o Excel 2007 e para aprender mais sobre porque a 
alteração do formato de arquivo foi feita. 
 
 
 
25 Novo formato de arquivo 
Como trabalhar com arquivos de versões anteriores do Excel 
 
 
No Excel 2007, é possível abrir arquivos criados nas versões anteriores do Excel, desde 
o Excel 95 até o Excel 2003. 
Mas e se você for a primeira pessoa no escritório a ter o Excel 2007? E no caso de você 
precisar compartilhar arquivos com departamentos que ainda não têm o Excel 2007? 
Vocês todos podem compartilhar pastas de trabalho entre si. Isso ocorre da seguinte 
maneira: 
Arquivos antigos permanecem assim a menos que você faça uma opção diferente 
Se você abrir um arquivo criado em uma versão anterior, quando salvar esse arquivo e 
qualquer trabalho feito nele, a configuração automática na caixa de diálogo Salvar Como 
será salvar o arquivo no formato da versão original. Se ele foi iniciado no Excel 2003, o 
Excel 2007 o salvará no formato do 2003, a menos que você instrua de outra forma. 
Novos recursos avisam se você salvar um arquivos em uma versão anterior 
Quando você salva um arquivo no formato de uma versão anterior, se algum dos 
recursos do 2007 não for compatível com a versão anterior, um Verificador de 
Compatibilidade informará você sobre esse fato. 
Por exemplo, se você aplicar cor a um cabeçalho no Excel 2007 e, em seguida, salvar o 
arquivo no formato do Excel 97-2003, o Verificador de Compatibilidade informará que as 
versões anteriores do Excel não têm cores para cabeçalhos e rodapés, e que o 
cabeçalho aparecerá em texto sem formatação. 
 
 
 
26 Novo formato de arquivo 
Importante Quando um novo recurso não ficar disponível novamente se você salvar 
um arquivo em um formato anterior e, em seguida, abri-lo novamente no Excel 2007, o 
Verificador de Compatibilidade o avisará sobre esse fato. 
Você sempre pode copiar arquivos mais novos em formatos mais novos em 
primeiro lugar. É fácil manter uma cópia da pasta de trabalho no formato do 2007. 
Basta usar Salvar Como e informar ao Excel que você deseja uma Pasta de Trabalho do 
Excel (*.xlsx). Essa cópia do arquivo conterá todos os recursos do Excel 2007. 
Compartilhar documentos entre versões utilizando um conversor. Se você criar um 
arquivo no Excel 2007 e o salvar no formato 2007, seus colegas que têm versões do 
Excel 2000 a 2003 (e as correções e service packs mais recentes) podem trabalhar em 
seus arquivos no formato 2007. Quando eles clicarem no seu documento, receberão uma 
mensagem perguntando se desejam fazer o download de um conversor que permitirá 
abrir o documento. 
Se você tiver interesse nos detalhes técnicos: o formato de arquivo do Excel 2007 tem 
como base o XML (Extensible Markup Language) e abrange os Formatos XML Abertos 
do Office. Esse também é o novo formato de arquivo para o Microsoft Office Word 2007 e 
o PowerPoint 2007. 
Vantagens do novo formato 
 
O novo formato de arquivo significa aprimoramentos no Excel. Aqui estão seus principais 
benefícios: 
 
 
 
27 Novo formato de arquivo 
Novos recursos Além dos recursos vistos nas lições anteriores, o número de linhas em 
uma planilha mudou de 65.536 para 1.048.576. O número de colunas aumentou de 256 
para 16.384. Você pode gravar fórmulas mais longas na nova Barra de Fórmulas 
redimensionável. Além disso, se você clicar em grandes blocos de texto em uma célula, a 
Barra de Fórmulas não mais transbordará para a grade da planilha. 
Arquivos mais seguros É mais fácil identificar e bloquear as pastas de trabalho que 
contenham código ou macros não desejadas. 
Menos risco de corrupção de arquivo O Excel tem uma capacidade aprimorada para 
abrir arquivos corrompidos e recuperar parte do trabalho que poderia de outra forma ser 
perdido. 
Tamanho reduzido de arquivo As pastas de trabalho são compactadas; o tamanho do 
arquivo é aproximadamente de 50 a 75 por cento menor que nas versões anteriores do 
Excel. Você abre e salva os arquivos compactados como costumava abrir e salvar 
qualquer arquivo do Excel. 
Dados mais úteis É possível fazer mais com os dados, porque sua base em XML 
facilita muito a integração com outros conjuntos de dados de outros computadores e 
programas. Por exemplo, armazene seus dados de orçamento em um programa 
especializado, selecione o que precisa e importe em um documento do Word, em uma 
planilha do Excel ou em um banco de dados do Access. 
Diferenças entre os formatos 
Existem diversos tipos de arquivo que você pode escolher ao salvar um arquivo no Excel 
2007. 
Pasta de Trabalho do Excel (*.xlsx) Salve uma pasta de trabalho como esse tipo de 
arquivo se ela não contiver macros ou código Microsoft Visual Basic for Applications 
(VBA). Caso você tente salvar uma pasta de trabalho como uma Pasta de Trabalho do 
Excel e houver algum comando de macro ou projetos do VBA no arquivo, o Excel 2007 
avisará que a macro ou o código do VBA será excluído do arquivo.Pasta de Trabalho Habilitada para Macro do Excel (*.xlsm) Salve sua pasta de 
trabalho como esse tipo de arquivo quando a pasta de trabalho contiver macros ou código 
VBA. Caso você tente salvar uma pasta de trabalho que contenha macros ou VBA como 
o tipo de arquivo Pasta de Trabalho do Excel, o Excel avisará você contra essa opção. 
 
 
 
28 Trabalhando com Pastas de trabalhos e planilhas 
Modelo do Excel (*.xltx) Salve sua pasta de trabalho como esse tipo de arquivo 
quando precisar de um modelo. 
Modelo Habilitado para Macro do Excel (*.xltm) Salve sua pasta de trabalho como 
esse tipo de arquivo quando precisar de um modelo e a pasta de trabalho contiver 
macros ou VBA. 
Pasta de Trabalho Binária do Excel (*.xlsb) Salve sua pasta de trabalho como esse 
tipo de arquivo quando tiver uma pasta de trabalho especialmente grande; esse tipo de 
arquivo será aberto mais rapidamente do que uma Pasta de Trabalho do Excel muito 
grande o faria. Você ainda terá os novos recursos do Excel com esse tipo de arquivo, 
mas não XML. 
Pasta de Trabalho do Excel 97 - Excel 2003 (*.xls) Salve sua pasta de trabalho como 
esse tipo de arquivo quando precisar compartilhá-la com alguém que esteja trabalhando 
com uma versão anterior do Excel e que não tenha o Microsoft Compatibility Pack para 
Office 2007. 
Pasta de Trabalho do Microsoft Excel 5.0/95 (*.xls) Salve sua pasta de trabalho 
como esse tipo de arquivo quando precisar compartilha-la com alguém que utilize o 
Microsoft Excel 5.0. A maioria dos recursos do Excel 2007 será desativada quando você 
salvar como esse tipo de arquivo. 
Trabalhando com Pastas de trabalhos e planilhas 
O Excel trabalha com o conceito de pasta de trabalho, onde uma pasta de trabalho é um 
arquivo. 
Dentro de uma pasta de trabalho é possível alocar várias planilhas de cálculos. 
Uma planilha é um espaço onde os dados são manipulados com cálculos e fórmulas. As 
planilhas podem referenciar dados em outras planilhas. 
Linhas e colunas de uma planilha 
Ao abrirmos o Microsoft Excel é apresentada uma janela com três planilhas - Plan1, 
Plan2 e Plan3. A planilha selecionada por padrão é a planilha Plan1, uma planilha vazia, 
onde possuímos linhas e colunas dispostas de tal forma que podemos inserir informações 
dentro da grade formada com o cruzamento desses dois elementos. 
 
 
 
29 Trabalhando com Pastas de trabalhos e planilhas 
Linha 
Dentro do Excel as linhas são identificadas com números no canto esquerdo da tela que 
vai de 1 a 65.536. Ou seja, em cada planilha podemos ter até 65536 linhas.Veja a figura a 
seguir: 
 
Coluna 
As colunas são identificadas com letras de A a Z e combinações de letras (AB, AC, 
etc)até totalizarem 256 colunas. Você pode tornar uma coluna tão larga quanto a janela 
da planilha (255 caracteres) ou tão estreita quanto a fração de um caractere.Veja a figura 
a seguir: 
Linhas de uma planilha 
 
 
 
30 Trabalhando com Pastas de trabalhos e planilhas 
 
 
Conceito de célula 
Uma célula 
A unidade de uma planilha na qual pode-se inserir e armazenar dados. A interseção de 
cada linha e coluna em um planilha forma uma célula. Você pode inserir um valor 
constante ou uma fórmula em uma célula. Um valor constante é normalmente um 
número (incluindo uma data ou hora) ou texto, mas pode também ser um valor lógico ou 
um valor de erro. 
Célula ativa 
É a célula exibida com uma borda de negrito, que indica a célula selecionada. Os 
próximos dados digitados serão inseridos nesta célula. Se você selecionar mais de uma 
célula, a primeira célula é a célula ativa. 
Colunas de uma planilha 
 
 
 
31 Trabalhando com Pastas de trabalhos e planilhas 
 
Endereço da célula 
Toda célula é indicada através de um endereço. O endereço é formado por uma (duas) 
letra(s) que representa a coluna a qual a célula pertence seguida de um número que 
representa a linha da célula em questão. Este esquema é exibição é denominado ―A1‖. 
 
 
Está é a célula B3 
Coluna B 
Linha 3 
 
 
 
32 Criando uma nova pasta de trabalho 
Intervalo de células 
Quando trabalhamos com uma planilha, muitas vezes nos deparamos com a necessidade 
de tratar um trecho ou uma determinada região de maneira diferente do restante da 
planilha. Um intervalo de células é uma região da planilha que selecionamos a fim de 
trabalhar e modificar, ele é identificado através da célula do canto superior esquerdo e do 
canto inferior direito da faixa de células. Uma faixa é representada pelo endereço da 
primeira célula (canto superior esquerdo), dois pontos (:) e o endereço da última célula 
(canto inferior direito). Por exemplo: A1:A6 , representa a faixa de células de A1 até A6, 
conforme indicado na figura a seguir: 
 
 
Criando uma nova pasta de trabalho 
Uma pasta de trabalho do Microsoft Office Excel é um arquivo que contém uma ou mais 
planilhas , que podem ser usadas para organizar diversos tipos de informações 
relacionadas. Para criar uma nova pasta de trabalho, você pode abrir uma pasta de 
trabalho em branco. Pode também basear uma nova pasta de trabalho em uma pasta de 
trabalho existente, no modelo de pasta de trabalho padrão ou em outro modelo. 
 
 
Intervalo de células 
 
 
 
33 Criando uma nova pasta de trabalho 
Abrir uma nova pasta de trabalho em branco 
1. Clique no Botão do Microsoft Office e, em seguida, clique em Novo. 
2. Atalho do teclado Você também pode pressionar CTRL+N. 
3. Em Modelos, verifique se Em branco e recentes está marcado e, em Em 
branco e recentes no painel à direita, clique em Pasta de trabalho em branco. 
Basear uma nova pasta de trabalho em uma pasta de trabalho 
existente 
1. Clique no Botão do Microsoft Office e, em seguida, clique em Novo. 
2. Atalho do teclado Você também pode pressionar CTRL+N. 
3. Em Modelos, clique em Novo com base em documento existente. 
4. Na caixa de diálogo Novo(a) com base em pasta de trabalho existente, 
navegue até a unidade, a pasta ou o local na Internet que contém a pasta de 
trabalho a ser aberta. 
5. Clique na pasta de trabalho e, em seguida, clique em Criar novo. 
Basear uma nova pasta de trabalho em um modelo 
1. Clique no Botão do Microsoft Office e, em seguida, clique em Novo. 
2. Atalho do teclado Você também pode pressionar CTRL+N. 
3. Em Modelos, clique em Modelos Instalados ou em Meus Modelos. 
4. Siga um destes procedimentos: 
 
 Para usar um modelo instalado, em Modelos Instalados, clique no modelo 
desejado e clique em Criar. 
 Para usar um modelo próprio, na guia Meus Modelos, clique duas vezes no 
modelo desejado. 
Observação: A guia Meus Modelos lista os modelos criados por você. Caso você não 
veja o modelo que deseja usar, verifique se ele está localizado na pasta correta. Os 
modelos personalizados costumam ser armazenados na pasta Modelos, que geralmente 
se encontra em C:\Documents and Settings\nome_do_usuário\Dados de 
aplicativos\Microsoft\Modelos no Microsoft Windows XP, e em 
C:\Users\nome_do_usuário\Application Data\Microsoft\Templates no Microsoft Windows 
Vista. 
 
 
 
34 Criando uma nova pasta de trabalho 
Dica: Para obter mais modelos de pastas de trabalho, você pode baixá-los do Office 
Online. Na caixa de diálogo Nova Pasta de Trabalho, em Microsoft Office Online, 
clique em uma categoria de modelo específica, clique no modelo a ser baixado e depois 
em Download. 
Inserir ou excluir uma planilha 
Por padrão, o Microsoft Office Excel fornece três planilhas em uma pasta de trabalho, 
mas você pode inserir planilhas adicionais (e outros tipos de planilhas, como uma planilha 
de gráfico, uma planilha de macro ou uma planilha decaixa de diálogo) ou pode excluí-
las conforme necessário. Também pode alterar o número de planilhas que aparecem por 
padrão em uma nova pasta de trabalho. 
Se você tiver acesso a um modelo de planilha que foi criado ou que esteja disponível no 
Office Online, poderá basear uma nova planilha nesse modelo. 
O nome (ou título) de uma planilha aparece em sua guia de planilha na parte inferior da 
tela. Por padrão, o nome é Planilha1, Planilha2 e assim por diante, mas você pode dar a 
qualquer planilha um nome mais apropriado. 
Observações: Guias de planilha são exibidas por padrão. No entanto, se você não 
visualizá-las, verifique se a caixa de seleção Mostrar guias de planilha está selecionada 
na categoria Avançado da caixa de diálogo Opções do Excel (Botão do Microsoft Office 
, Opções do Excel). 
Inserir uma nova planilha 
Para inserir uma nova planilha, siga um destes procedimentos: 
Para inserir rapidamente uma nova planilha ao final das planilhas existentes, clique na 
guia Inserir Planilha na parte inferior da tela. 
 
Para inserir uma nova planilha na frente de uma planilha existente, selecione essa 
planilha e, na guia Início, no grupo Células, clique em Inserir e em Inserir Planilha. 
 
 
 
35 Criando uma nova pasta de trabalho 
 
Dica: Você pode também clicar com o botão direito do mouse na guia de uma planilha 
existente e, em seguida, clicar em Inserir. Na guia Geral, clique em Planilha e clique em 
OK. 
Inserir várias planilhas ao mesmo tempo 
1. Mantenha a tecla SHIFT pressionada e selecione o mesmo número de guias de 
planilha existentes das planilhas a serem inseridas na pasta de trabalho aberta. 
2. Por exemplo, se desejar adicionar três novas planilhas, selecione três guias de 
planilha das planilhas existentes. 
Na guia Início, no grupo Células, clique em Inserir e, em seguida, clique em Inserir 
Planilha. 
 
Dica: Você também pode clicar com o botão direito do mouse nas guias de planilha 
selecionadas e, em seguida, clicar em Inserir. Na guia Geral, clique em Planilha e clique 
em OK. 
Alterar o número de planilhas em uma nova pasta de trabalho 
1. Clique no Botão Microsoft Office e, em seguida, clique em Opções do 
Excel. 
2. Na categoria Mais Usados, em Ao criar novas pastas de trabalho, na caixa 
Incluir este número de planilhas, insira o número de planilhas a serem incluídas 
por padrão durante a criação de uma nova pasta de trabalho. 
 
 
 
36 Criando uma nova pasta de trabalho 
Inserir uma nova planilha baseada em um modelo personalizado 
1. Se necessário, crie o modelo de planilha no qual deseja basear uma nova 
planilha. 
Como criar um modelo de planilha 
1. Selecione a planilha que deseja usar como um modelo. 
2. Clique no Botão do Microsoft Office e em Salvar como. 
3. Na caixa Nome do arquivo, digite o nome do modelo de planilha. 
4. Para criar um padrão de planilha personalizado, digite o nome do arquivo que 
deseja usar. 
5. Para criar o modelo de planilha padrão, digite planilha. 
Observação: Modelos personalizados são automaticamente salvos na pasta Modelos. 
O modelo de planilha padrão, sheet.xltx ou sheet.xltm, deve ser salvo na pasta XLStart, 
que em geral está localizada em C:\Arquivos de Programas\Microsoft 
Office\Office12\XLStart. 
Renomear uma planilha 
1. Na barra da Guia de planilha, clique com o botão direito do mouse na guia da 
planilha que deseja renomear e clique em Renomear. 
 
2. Selecione o nome atual e digite o novo nome. 
Dica: Você pode incluir o nome da planilha ao imprimir a planilha. 
Como imprimir nomes de planilhas 
1. Na guia Inserir, no grupo Texto, clique em Cabeçalho e Rodapé. 
2. No Modo de Exibição de Layout de Página, clique no local onde deseja que o 
nome da planilha apareça. 
 
 
 
37 Criando uma nova pasta de trabalho 
3. No grupo Elementos de Cabeçalho e Rodapé, clique em Nome da Planilha . 
Excluir uma ou mais planilhas 
1. Selecione a(s) planilha(s) que deseja excluir. 
Como selecionar planilhas 
 Para selecionar Faça o seguinte 
Uma única planilha Clique na guia da planilha. 
 
Caso a guia desejada não esteja exibida, clique nos 
botões de rolagem de guias para exibi-la e clique na 
guia. 
 
Duas ou mais planilhas 
adjacentes 
Clique na guia da primeira planilha. 
Em seguida, mantenha pressionada a tecla SHIFT 
enquanto clica na guia da última planilha que deseja 
selecionar. 
Duas ou mais planilhas 
não adjacentes 
Clique na guia da primeira planilha. Em seguida, 
mantenha pressionada a tecla CTRL enquanto clica 
nas guias das outras planilhas que deseja 
selecionar. 
Todas as planilhas de uma Clique com o botão direito do mouse em uma guia 
de planilha e clique em Selecionar Todas as 
 
 
 
38 Criando uma nova pasta de trabalho 
pasta de trabalho Planilhas no menu de atalho (menu de atalho: um 
menu que mostra uma lista de comandos relevantes 
a um item específico. Para exibir um menu de 
atalho, clique com o botão direito do mouse em um 
item ou pressione SHIFT+F10.). 
 
2. Na guia Início, no grupo Células, clique na seta ao lado de Excluir e, em seguida, 
clique em Excluir Planilha. 
 
 Dica: Você também pode clicar com o botão direito na guia de uma ou mais planilhas 
que deseja excluir e, em seguida, clicar em Excluir. 
Salvar uma pasta de trabalho no formato Excel 2007 
Você pode salvar qualquer formato de arquivo que possa ser aberto no Excel 2007 no 
formato de arquivo de Pasta de Trabalho do Excel atual (.xlsx). Ao fazer isso, é possível 
usar os novos recursos do Excel 2007, como a grade maior, que não são suportados por 
outros formatos de arquivo. 
1. Abra a pasta de trabalho que deseja salvar como pasta de trabalho do Excel 2007. 
2. Clique no Botão Microsoft Office e clique em Salvar como. 
3. Na caixa Nome do arquivo, aceite o nome sugerido ou digite um novo nome para 
a pasta de trabalho. 
4. Na lista Salvar como tipo, siga um destes procedimentos: 
 Se estiver salvando uma pasta de trabalho que foi criada em uma versão 
anterior do Excel e a pasta de trabalho contiver macros que você deseja 
manter, clique em .xlsm. 
 Se quiser salvar a pasta de trabalho como um modelo, clique em .xltx. 
 Se estiver salvando uma pasta de trabalho que foi criada em uma versão 
anterior do Excel, se a pasta de trabalho contiver macros que você deseja 
manter e você quiser salvar essa pasta de trabalho como um modelo, 
clique em .xltm. 
 
 
 
39 Criando uma nova pasta de trabalho 
 Se quiser salvar a pasta de trabalho no formato de arquivo atual de Pasta 
de Trabalho do Excel, clique em .xlsx. 
 Se quiser salvar o arquivo no novo formato de arquivo binário, clique em 
.xslb. 
5. Clique em Salvar 
Alterar o formato de arquivo padrão 
Você pode alterar o tipo de arquivo usado por padrão ao salvar uma pasta de trabalho. 
1. Clique no Botão Microsoft Office e, em seguida, clique em Opções do 
Excel. 
2. Na categoria Salvar, em Salvar pastas de trabalho, na caixa Salvar arquivos 
neste formato, clique no formato de arquivo que deseja usar por padrão. 
Salvar uma pasta de trabalho do Excel 2007 em um formato de arquivo 
diferente 
1. Abra a pasta de trabalho que deseja salvar para utilizar em outro programa. 
2. Clique no Botão Microsoft Office e clique em Salvar como. 
3. Na caixa Nome do arquivo, aceite o nome sugerido ou digite um novo nome para 
a pasta de trabalho. 
4. Na lista Salvar como tipo, clique no formato de arquivo que possa ser aberto em 
outro programa. 
5. Clique em Salvar. 
Manipulação de Fórmulas 
A grande vantagem do Excel é sua facilidade para criar e modificar fórmulas com 
bastante facilidade. Neste capítulo vamos aprendera criar formulas, referenciar outras 
células e planilhas além de identificar os possíveis erros exibidos em cálculos. 
Fórmulas 
Fórmulas são equações que executam cálculos sobre valores na planilha. Uma fórmula 
inicia com um sinal de igual (=). Por exemplo, a fórmula a seguir multiplica 2 por 3 e 
depois adiciona 5 ao resultado. 
 
 
 
40 Criando uma nova pasta de trabalho 
=5+2*3 
Uma fórmula também pode conter quaisquer dos seguintes itens: funções, referências, 
operadores e constantes. 
Operadores aritméticos 
Para efetuar operações matemáticas básicas, como adição, subtração ou multiplicação, 
combinar números e produzir resultados numéricos, utilize os operadores aritméticos. 
Operador Significado 
+ Adição (3+3). 
- Subtração (3–1) ou Negação (–1). 
* Multiplicação (3*3). 
/ Divisão (3/3). 
% Porcentagem (20%). 
^ Exponenciação (3^2). 
Tabela 2.1 – Operadores aritméticos. 
 
 
 
 
41 Criando uma nova pasta de trabalho 
Ordem das operações em fórmulas 
As fórmulas calculam valores segundo uma ordem específica. Uma fórmula no Excel 
sempre começa com um sinal de igual (=). O sinal de igual informa ao Excel que os 
caracteres a seguir constituem uma fórmula. Depois do sinal de igual estão os elementos 
a serem calculados (os operandos), que são separados por operadores de cálculo. O 
Excel calcula a fórmula da esquerda para a direita, de acordo com uma ordem específica 
para cada operador da fórmula. 
Precedência de operadores 
Se você combinar vários operadores em uma única fórmula, o Excel executará as 
operações na ordem mostrada na tabela a seguir. Se uma fórmula contiver operadores 
com a mesma precedência — por exemplo, se uma fórmula contiver um operador de 
multiplicação e divisão — o Excel avaliará os operadores da esquerda para a direita. 
Operador Significado 
: (dois-pontos) 
(espaço 
simples) 
 
 , (vírgula) 
 
Operadores de referência. 
- Negação ( -1). 
% Porcentagem 
^ Exponenciação (3^2). 
 
 
 
42 Criando uma nova pasta de trabalho 
* e / Multiplicação e divisão. 
+ e – Adição e subtração. 
& Conecta duas seqüências de texto (concatenação). 
= < > <= >= <> Comparação. 
Tabela 2.1 – Ordem de operações. 
 
Uso de parâmetros 
Para alterar a ordem da avaliação, coloque entre parênteses a parte da fórmula a ser 
calculada primeiro. Por exemplo, a fórmula a seguir retorna 11 porque o Excel calcula a 
multiplicação antes da adição. A fórmula multiplica 2 por 3 e, em seguida, soma 5 ao 
resultado. 
=5+2*3 
Por outro lado, se você usar parênteses para alterar a sintaxe, o Excel somará 5 e 2 e, 
em seguida, multiplicará o resultado por 3 para produzir 21. 
=(5+2)*3 
No exemplo abaixo, os parênteses na primeira parte da fórmula forçam o Excel a calcular 
B4+25 primeiro e, em seguida, dividir o resultado pela soma dos valores nas células D5, 
E5 e F5. 
=(B4+25)/SOMA(D5:F5) 
 
 
 
43 Criando uma nova pasta de trabalho 
Referenciando outra célula em uma fórmula 
Uma referência identifica uma célula ou um intervalo de células em uma planilha e 
informa ao Microsoft Excel onde procurar pelos valores ou dados a serem usados em 
uma fórmula. Com referências, você pode usar dados contidos em partes diferentes de 
uma planilha em uma fórmula ou usar o valor de uma célula em várias fórmulas. Você 
também pode se referir a células de outras planilhas na mesma pasta de trabalho e a 
outras pastas de trabalho. Referências às células de outras pastas de trabalho são 
chamadas vínculos. 
Referenciando colunas e linhas 
Por padrão, o Excel usa o estilo de referência coluna/linha ou A1, que se refere a colunas 
com letras (A até IV, para um total de 256 colunas) e se refere a linhas com números (1 
até 65536). Essas letras e números são chamados de cabeçalhos de linha e coluna. Para 
referir-se a uma célula, insira a letra da coluna seguida do número da linha. Por exemplo, 
B2 se refere à célula na interseção da coluna B com a linha 2. 
Vejam outros exemplos: 
 
 
 
 
44 Criando uma nova pasta de trabalho 
 
Para referenciar Utilize 
A célula na coluna A e linha 10. A10 
O intervalo de células na coluna A e linhas 10 a 20. A10:A20 
O intervalo de células na linha 15 e colunas B até E B15:E15 
Todas as células na linha 5. 5:5 
Todas as células nas linhas 5 a 10. 5:10 
Todas as células na coluna H. H:H 
Todas as células nas colunas H a J. H:J 
O intervalo de células nas colunas A a E e linhas 10 a 20. A10:E20 
Tabela 2.1 – Referência de células. 
 
 
 
 
45 Criando uma nova pasta de trabalho 
 
Dica 
 
Durante a edição de uma fórmula você pode utilizar o mouse e selecionar 
o intervalo de células. Automaticamente intervalo selecionado será 
transcrito para sua fórmula. 
Referência a uma outra planilha dentro da mesma pasta de trabalho 
No exemplo a seguir, a função de planilha MÉDIA calcula o valor médio do intervalo 
B1:B10 na planilha denominada Plan2 na mesma pasta de trabalho. 
 
 
 
Intervalo de células 
Separa a referência da planilha do intervalo. 
Identifica a planilha pelo nome 
= Média ( Plan2 ! B1:B10) 
 
 
 
 
46 Criando uma nova pasta de trabalho 
Observe que o nome da planilha e um ponto de exclamação (!) precedem a referência de 
intervalo. 
O ponto de exclamação é obrigatório após o nome da planilha. 
 
 
Dica 
 
Durante a edição de uma fórmula você pode utilizar o mouse e 
selecionar o intervalo de células na outra planilha de sua pasta de 
trabalho. Automaticamente intervalo selecionado será transcrito para 
sua fórmula. 
 
Referência a outro arquivo do Excel 
No exemplo a seguir, a função de planilha MÉDIA calcula o valor médio do intervalo 
B1:B10 na planilha denominada Plan2 no arquivo contas.xls gravado na pasta 
c:\arquivos. 
=MÉDIA('C:\arquivos\[contas.xls]Plan2'!B1:B10) 
 
 
 
 
 
Intervalo de células 
Separa a referência da planilha do intervalo. 
Identifica a planilha e o arquivo de origem pelo nome. 
 
 
 
47 Criando uma nova pasta de trabalho 
Observe que os nomes do arquivo e da planilha estão entre aspas simples e tem ao final 
de seus nomes o ponto de exclamação (!). 
O ponto de exclamação é obrigatório após o nome da planilha. 
 
Dica 
 
Para fazer referência utilizando o mouse, abre o outro arquivo e 
durante a edição da fórmula alterne para a outra pasta de trabalho e 
faça a seleção do intervalo com o mouse. Automaticamente a 
referência a outro arquivo e planilha será transcrita para sua fórmula. 
Referências relativas, absolutas e mistas 
Ao fazermos referência a um intervalo de células podemos fazê-la de três maneiras 
distintas. Através de referências relativas, absolutas ou mistas. 
Referência relativa 
Uma referência relativa em uma fórmula, como A1(Coluna e linha), é baseada na posição 
relativa da célula que contém a fórmula e da célula à qual a referência se refere. Se a 
posição da célula que contém a fórmula se alterar, a referência será alterada. Se você 
copiar a fórmula ao longo de linhas ou colunas, a referência se ajustará automaticamente. 
Por padrão, novas fórmulas usam referências relativas. Por exemplo, se você copiar uma 
referência relativa que está na célula B2 para a célula B3, a referência será 
automaticamente ajustada de =A1 para =A2. 
 
 referências relativas 
 
 
 
 
48 Criando uma nova pasta de trabalho 
Referência absoluta 
Uma referência absoluta de célula em uma fórmula, como $A$1(Coluna e linha), sempre 
se refere a uma célula em um local específico. Se a posição da célula que contém a 
fórmula se alterar, a referência absoluta permanecerá a mesma. Se você copiar afórmula 
ao longo de linhas ou colunas, a referência absoluta não se ajustará. Por padrão, novas 
fórmulas usam referências relativas e você precisa trocá-las para referências absolutas. 
Por exemplo, se você copiar uma referência absoluta na célula B2 para a célula B3, ela 
permanecerá a mesma em ambas as células =$A$1. 
 
 refêrência absolua 
Referência mista 
Uma referência mista tem uma coluna absoluta e linha relativa, ou linha absoluta e coluna 
relativa. Uma referência de coluna absoluta tem o formato $A1, $B1 e assim por diante. 
Uma referência de linha absoluta tem o formato A$1, B$1 e assim por diante. Se a 
posição da célula que contém a fórmula se alterar, a referência relativa será alterada e a 
referência absoluta não se alterará. Se você copiar a fórmula ao longo de linhas ou 
colunas, a referência relativa se ajustará automaticamente e a referência absoluta não se 
ajustará. Por exemplo, se você copiar uma referência mista da célula A2 para B3, ela se 
ajustará de =A$1 para =B$1. 
 
 
 referência mista 
Criando uma fórmula 
Vamos aprender como se cria uma fórmula do Excel, começaremos com formas simples 
e vamos evoluindo até fórmulas mais complexas que fazem referência a outras células ou 
utiliza funções. 
 
 
 
49 Criando uma nova pasta de trabalho 
Para iniciar a digitação de um fórmula no Excel, inicie a digitação do texto sempre com o 
sinal de igual ( = ), seguido pela estrutura da fóruma desejada. 
Criando uma fórumla simples 
Vamos criar uma fómula para calcular o expoencial de 5 elevado ao quadrado(2). 
Clique na célula na qual você deseja inserir a fórmula. 
 
 
 Céula selecionada 
 
Digite = (um sinal de igual). Insira a fórmula e Pressione ENTER. 
Verifiq eu que a barra de fórmula conterá o valor que está sendo digitado na célula. 
 
 
 fórumla sendo criada 
 
 
 
 
50 Criando uma nova pasta de trabalho 
O resultado será o quadarado de 5, porém da barra de fóruma será exibido a fóruma que 
gerou o resultado. 
 
 
 Resultado da fóruma 
Criando fórmula com referência a outras células 
A célula que contém a fórmula é conhecida como uma célula dependente, ou seja, seu 
valor depende dos valores de outras células. Por exemplo, a célula C4 será uma célula 
dependente se contiver uma fóruma dependente das célula C2 e C3. 
 
Vamo supor que a célula C2 contenha o valor de um determindado produto e a célula C3 
contém a quantidade de produtos de um pedido. A função da célula C4 seria calcular o 
valor total de produtos de acordo com a quantide, ou seja, Valor * Total. 
 
 
 Exemplo proposto 
 
 
 
51 Criando uma nova pasta de trabalho 
Vamos criar esta fórmula utilizando a referência relativa. 
Clique na célula C4 e digite o sinal de igual ( = ). O excel estará neste momento criando a 
fórmula. 
 
 
 Iniciando a fóruma 
Digite a referência relatativa à célula C2 ou clique sobre a célula. 
 
 Referenciando D3 
Insira o operador de multiplicação ( * ) e digite a referência à célula C3, ou clique sobre a 
mesma. 
 
 
 
52 Criando uma nova pasta de trabalho 
 
 Referênciando D4 
Pressione Enter. O cálculo será exibido na célula e a fóruma na barra de fórmula. 
 
 Resultado da fóruma 
Criando uma fórmula utilizando funções 
Em fórmulas do Excel, existe a possibilidade de utlização de funções do Excel ou funções 
criadas pelo próprio usuário. 
Funções são cálculos internos que retornam um resultado, normalmente necessitam de 
parâmetros de entrada. O estudo de funções será mais detalhado nos próximos 
capítulos. 
Vamos supor que tenhamos uma planilha para controle de notas de alunos, onde teremos 
três notas e a média aritimética destas notas. 
Para calcular a média dos resultados poderemos, por exemplo, utilizar a função Média do 
Excel, utilizada para cálculo de médias. 
A função Média exige como parâmetro o intervalo de células e retorna a média aritimética 
como resultado. 
 
 
 
53 Criando uma nova pasta de trabalho 
 
 Planilha de demonstração 
Vamos calcular a média de resultados na coluna F, primeiramente calcularemos a linha 3. 
Clique na célula D3 e pressione a tecla igual ( = ). Neste momento estaremos editando a 
fórmula da célula. 
Insira a função MÉDIA e forneça como parâmetro o intervalo D4:F4, ou seja, 
=MÉDIA(D4:F4) . 
 
 Criando a fórmula 
O resultado será a média aritimética da célula, na barra de fórmulas será exibido a 
fórmula que gerou o cálculo. 
 
 
 
54 Criando uma nova pasta de trabalho 
 
 Resultado da fórmula 
 
 
 
 
55 Funções do Excel XP 
Funções do Excel XP 
Vamos verificar a sintaxe e exemplos das funções mais comuns do Excel XP 
Funções de busca e referência 
Vamos analisar o funcionamento das principais funções de banco de dados 
disponibilizadas pelo Excel XP. 
PROCV 
Localiza um valor na primeira coluna à esquerda de uma tabela e retorna um valor na 
mesma linha de uma coluna especificada na tabela. Use PROCV em vez de PROCH 
quando os valores da comparação estiverem posicionados em uma coluna à esquerda ou 
à direita dos dados que você deseja procurar. 
O V em PROCV significa "Vertical". 
Sintaxe 
PROCV(valor_procurado;matriz_tabela;núm_índice_coluna;procurar_intervalo) 
Valor_procurado é o valor a ser localizado na primeira coluna da Matriz. 
Valor_procurado pode ser um valor, uma referência ou uma seqüência de caracteres de 
texto. 
Matriz_tabela é a tabela de informações em que os dados são procurados. Use uma 
referência para um intervalo ou nome de intervalo, tal como Banco de dados ou Lista. 
Observação 
 Se procurar_intervalo for VERDADEIRO, os valores na primeira coluna de 
matriz_tabela deverão ser colocados em ordem ascendente: ..., -2, -1, 0, 1, 2, ... , 
A-Z, FALSO, VERDADEIRO; caso contrário, PROCV pode não retornar o valor 
correto. Se procurar_intervalo for FALSO, matriz_tabela não precisará ser 
ordenada. 
Os valores na primeira coluna de matriz_tabela podem ser texto, números ou valores 
lógicos. 
 
 
 
56 Funções do Excel XP 
Textos em maiúsculas e minúsculas são equivalentes. 
Núm_índice_coluna é o número da coluna em matriz_tabela a partir do qual o valor 
correspondente deve ser retornado. Um núm_índice_coluna de 1 retornará o valor na 
primeira coluna em matriz_tabela; um núm_índice_coluna de 2 retornará o valor na 
segunda coluna em matriz_tabela, e assim por diante. Se núm_índice_coluna for menor 
do que 1, PROCV retornará o valor de erro #VALOR!; se núm_índice_coluna for maior do 
que o número de colunas em matriz_tabela, PROCV retornará o valor de erro #REF!. 
Procurar_intervalo é um valor lógico que especifica se você quer que PROCV encontre 
a correspondência exata ou uma correspondência aproximada. Se VERDADEIRO ou 
omitida, uma correspondência aproximada é retornada; em outras palavras, se uma 
correspondência exata não for encontrada, o valor maior mais próximo que é menor que 
o valor_procurado é retornado. Se FALSO, PROCV encontrará uma correspondência 
exata. Se nenhuma correspondência for encontrada, o valor de erro #N/D é retornado. 
Observações 
 Se PROCV não localizar valor_procurado e procurar_intervalo for 
VERDADEIRO, ela usará o maior valor que for menor do que ou igual a 
valor_procurado. 
 Se valor_procurado for menor do que o menor valor na primeira coluna de 
matriz_tabela, PROCV fornecerá o valor de erro #N/D. 
 Se PROCV não localizar valor_procurado e procurar_intervalo for FALSO, 
PROCV fornecerá o valor #N/D. 
Utilizando a função PROCV 
No exemplo abaixo utiliza-se a função para localizar o telefone de acordo com o código 
digitado na célula C12. 
 
 
 
 
57 Funções doExcel XP 
 
 Utilizandoo ProcV para localizar o telefone 
 
 
 Resultado da fórumula 
PROCH 
Localiza um valor específico na linha superior de uma tabela ou matriz de valores e 
retorna um valor na mesma coluna de uma linha especificada na tabela ou matriz. Use 
PROCH quando seus valores de comparação estiverem localizados em uma linha ao 
longo da parte superior de uma tabela de dados e você quiser observar um número 
específico de linhas mais abaixo. Use PROCV quando os valores de comparação 
estiverem em uma coluna à esquerda dos dados que você deseja localizar. 
O H de PROCH significa "Horizontal." 
Sintaxe 
PROCH(valor_procurado;matriz_tabela;núm_índice_lin;procurar_intervalo) 
 
 
 
58 Funções do Excel XP 
Valor_procurado é o valor a ser localizado na primeira linha da tabela. Valor_procurado 
pode ser um valor, uma referência ou uma seqüência de caracteres de texto. 
Matriz_tabela é uma tabela de informações onde os dados devem ser procurados. Use 
uma referência para um intervalo ou um nome de intervalo. 
Os valores na primeira linha de matriz_tabela podem ser texto, números ou valores 
lógicos. 
Observações 
 Se procurar_intervalo for VERDADEIRO, os valores na primeira linha de 
matriz_tabela deverão ser colocados em ordem ascendente: ...-2, -1, 0, 1, 2,... , A-
Z, FALSO, VERDADEIRO, caso contrário, PROCH pode não retornar o valor 
correto. Se procurar_intervalo for FALSO, matriz_tabela não precisará ser 
ordenada. 
Textos em maiúsculas e minúsculas são equivalentes. 
Você pode colocar valores em ordem ascendente, da esquerda para a direita, 
selecionando os valores, escolhendo o comando Classificar no menu Dados. Clique em 
Opções, clique em Classificar da esquerda para a direita e, em seguida, em OK. Em 
Classificar por, clique na linha da lista e depois em Crescente. 
Núm_índice_lin é o número da linha em matriz_tabela de onde o valor correspondente 
deve ser retirado. Um núm_índice_lin equivalente a 1 retorna o valor da primeira linha na 
matriz_tabela, um núm_índice_lin equivalente a 2 retorna o valor da segunda linha na 
matriz_tabela, e assim por diante. Se núm_índice_lin for menor do que 1, PROCH 
retornará o valor de erro #VALOR!; se núm_índice_lin for maior do que o número de 
linhas na matriz_tabela, PROCH retornará o valor de erro #REF!. 
Procurar_intervalo é um valor lógico que especifica se você quer que PROCH localize 
uma correspondência exata ou aproximada. Se VERDADEIRO ou omitido, uma 
correspondência aproximada é retornada. Em outras palavras, se uma correspondência 
exata não for localizada, o valor maior mais próximo que seja menor que o 
valor_procurado é retornado. Se FALSO, PROCH encontrará uma correspondência 
exata. Se nenhuma correspondência for localizada, o valor de erro #N/D será retornado. 
Observações 
 
 
 
59 Funções do Excel XP 
 Se PROCH não localizar valor_procurado, e procurar_intervalo for VERDADEIRO, 
ela usará o maior valor que é menor do que o valor_procurado. 
 Se o valor_procurado for menor do que o menor valor na primeira linha de 
matriz_tabela, PROCH retornará o valor de erro #N/D. 
Utilizando a função PROCH 
No exemplo abaixo utilizamos a função PROCH para localizar na coluna Nome e retornar 
o valor contido na segunda linha (posição 2). 
 
 Utilizando a função ProcH 
 
 
 Valor retornado 
COL 
Retorna o número de coluna da referência especificada. 
Sintaxe 
 
 
 
60 Funções do Excel XP 
COL(ref) 
Ref é a célula ou intervalo de células cujo número da coluna você deseja obter. 
Se ref for omitido, presume-se que seja a referência da célula onde a função COL 
aparece. 
 Ref não pode se referir a áreas múltiplas. 
Exemplo 
 
 Função COL 
COLS 
Retorna o número de colunas em uma matriz ou referência. 
Sintaxe 
COLS(matriz) 
Matriz é uma matriz, uma fórmula de matriz ou uma referência a um intervalo de células 
cujo número de colunas você deseja obter. 
Exemplo 
 
 Função COLS 
 
 
 
61 Funções do Excel XP 
CORRESP 
Retorna a posição relativa de um item em uma matriz que coincide com um valor 
especificado em uma ordem específica. Use CORRESP em vez de uma das funções 
PROC quando você precisar da posição de um item em um intervalo ao invés do item 
propriamente dito. 
Sintaxe 
CORRESP(valor_procurado;matriz_procurada;tipo_correspondência) 
Valor_procurado é o valor utilizado para localizar o valor desejado em uma tabela. 
 Valor_procurado é o valor que você deseja coincidir com matriz_procurada. Por 
exemplo, quando você procura o número do telefone de alguém em uma lista 
telefônica, você está usando o nome da pessoa como o valor da procura, mas o 
número do telefone é o valor que você deseja. 
 Valor_procurado pode ser um valor (número, texto ou valor lógico) ou uma 
referência de célula de um número, texto ou valor lógico. 
Matriz_procurada é um intervalo contíguo de células que contêm valores possíveis de 
procura. Matriz_procurada precisa ser uma matriz ou uma referência de matriz. 
Tipo_correspondência é o número -1, 0 ou 1. Tipo_correspondência especifica como o 
Microsoft Excel corresponde a valor_procurado com os valores contidos em 
matriz_procurada. 
 Se tipo_correspondência for 1, CORRESP localizará o maior valor que for menor 
do que ou igual a valor_procurado. Matriz_procurada deve ser posicionada em 
ordem ascendente: ...-2, -1, 0, 1, 2,...A-Z, FALSO, VERDADEIRO. 
 Se tipo_correspondência for 0, CORRESP localizará o primeiro valor que for 
exatamente igual a valor_procurado. Matriz_procurada pode ser colocada em 
qualquer ordem. 
 Se tipo_correspondência for -1, CORRESP localizará o menor valor que seja 
maior ou igual a valor_procurado. Matriz_procurada deve ser posicionada em 
ordem decrescente: VERDADEIRO, FALSO, Z-A,...2, 1, 0, -1, -2,... e assim por 
diante. 
 Se tipo_correspondência for omitido, será equivalente a 1. 
Comentários 
 
 
 
62 Funções do Excel XP 
CORRESP retorna a posição do valor coincidente em matriz_procurada, e não o valor 
propriamente dito. Por exemplo: CORRESP("b";{"a"."b"."c"};0) retorna 2, a posição 
relativa de "b" na matriz {"a"."b"."c"}. 
CORRESP não faz distinção entre letras maiúsculas e minúsculas quando estiver 
fazendo a correspondência entre valores de texto. 
Se CORRESP não conseguir localizar um valor coincidente, ele fornecerá o valor de erro 
#N/D. 
Se tipo_correspondência for 0 e valor_procurado for um texto, valor_procurado poderá 
conter os caracteres curinga asterisco (*) e ponto de interrogação (?). Um asterisco 
corresponde a qualquer seqüência de caracteres; um ponto de interrogação corresponde 
a qualquer caractere individual. 
Exemplo 
No exemplo abaixo se utiliza um valor de ‗procura‘ na célula C9 e retorna-se a posição 
correspondente a este valor. 
 
 CORRESP 
 
 
 Resultado com posição 2 
 
 
 
63 Funções do Excel XP 
DESLOC 
Retorna uma referência para um intervalo, que é um número especificado de linhas e 
colunas de uma célula ou intervalo de células. A referência retornada pode ser uma única 
célula ou um intervalo de células. Você pode especificar o número de linhas e de colunas 
a serem retornadas. 
Sintaxe 
DESLOC(ref;lins;cols;altura;largura) 
Ref é a referência em que se deseja basear o deslocamento. Ref deve se referir a uma 
célula ou intervalo de células adjacentes; caso contrário, DESLOC retornará o valor de 
erro #VALOR!. 
Lins é o número de linhas, acima ou abaixo, a que se deseja que a célula superior 
esquerda se refira. Usar 5 como o argumento de linhas, especifica que a célula superior 
esquerda na referência está cinco linhas abaixo da referência. Lins pode ser positivo(que 
significa abaixo da referência inicial) ou negativo (acima da referência inicial). 
Cols é o número de colunas, à esquerda ou à direita, a que se deseja que a célula 
superior esquerda do resultado se refira. Usar 5 como o argumento de colunas, especifica 
que a célula superior esquerda na referência está cinco colunas à direita da referência. 
Cols pode ser positivo (que significa à direita da referência inicial) ou negativo (à 
esquerda da referência inicial). 
Altura é a altura, em número de linhas, que se deseja para a referência fornecida. Altura 
deve ser um número positivo. 
Largura é a largura, em número de colunas, que se deseja para a referência fornecida. 
Largura deve ser um número positivo. 
Comentários 
 Se lins e cols deslocarem a referência sobre a borda da planilha, DESLOC 
retornará o valor de erro #REF!. 
 Se altura ou largura forem omitidos, serão equivalentes a altura ou largura de ref. 
 Na verdade, DESLOC não desloca quaisquer células nem modifica a seleção; 
apenas fornece uma referência. DESLOC pode ser usada com qualquer função 
que pressuponha um argumento de referência. Por exemplo, a fórmula 
 
 
 
64 Funções do Excel XP 
SOMA(DESLOC(C2;1;2;3;1)) calcula o valor total de um intervalo formado por 3 
linhas e 1 coluna que está 1 linha abaixo e 2 colunas à direita da célula C2. 
Exemplo 
 
 - Função Desloc 
ENDEREÇO 
Cria um endereço de célula como texto, dados números específicos de linhas e colunas. 
Sintaxe 
ENDEREÇO(núm_linha;núm_col;núm_abs;a1;texto_planilha) 
Núm_linha é o número da linha a ser utilizado na referência da célula. 
Núm_col é o número da coluna a ser utilizado na referência da célula. 
Núm_abs especifica o tipo de referência a ser retornado. 
Núm_abs Descrição 
1 ou omitido Absoluta. 
2 Linha absoluta, coluna relativa. 
3 Couna absoluta, linha relativa. 
4 Relativa 
 
 
 
65 Funções do Excel XP 
A1 é um valor lógico que especifica o estilo de referência A1 ou L1C1. Se A1 for 
VERDADEIRO ou omitido, ENDEREÇO retornará uma referência em estilo A1, se for 
FALSO, ENDEREÇO retornará uma referência em estilo L1C1. 
Texto_planilha é o texto que especifica o nome da planilha a ser usada como referência 
externa. Se texto_planilha for omitido, o nome da planilha não será utilizado. 
Exemplo 
 
 função Endereço 
ESCOLHER 
Use ESCOLHER para selecionar um valor entre 29 valores que se baseie no número de 
índice. Por exemplo, se do valor1 até o valor7 forem os números da semana, ESCOLHER 
retorna um dos dias quando um número entre 1 e 7 for usado como núm_índice. 
Sintaxe 
ESCOLHER(núm_índice;valor1;valor2,...) 
Núm_índice especifica o argumento de valor selecionado. Núm_índice deve ser um 
número entre 1 e 29, ou uma fórmula ou referência a uma célula que contenha um 
número entre 1 e 29. 
 Se núm_índice for 1, ESCOLHER retornará valor1; se for 2, ESCOLHER retornará 
valor2; e assim por diante. 
 Se núm_índice for menor do que 1 ou maior do que o número do último valor na 
lista, ESCOLHER retornará o valor de erro #VALOR!. 
 Se núm_índice for uma fração, será truncada para o menor inteiro antes de ser 
usada. 
 
 
 
66 Funções do Excel XP 
Valor1,valor2,... são 1 a 29 argumentos de valor a partir dos quais ESCOLHER 
seleciona um valor ou uma ação a ser realizada com base no núm_índice. Os 
argumentos podem ser números, referências de célula, nomes definidos, fórmulas, 
funções ou texto. 
Comentários 
Se núm_índice for uma matriz, cada valor será avaliado quando ESCOLHER for avaliada. 
Os argumentos de valor para ESCOLHER podem ser referências de intervalo bem como 
valores únicos. 
Por exemplo, a fórmula: 
=SOMA(ESCOLHER(2;A1:A10;B1:B10;C1:C10)) 
avalia para: 
=SOMA(B1:B10) 
que depois retorna um valor baseado nos valores do intervalo B1:B10. 
A função ESCOLHER é a primeira a ser avaliada, retornando a referência B1:B10. A 
função SOMA é avaliada posteriormente usando B1:B10, o resultado da função 
ESCOLHER, como seu argumento. 
Exemplo 
 
 
 
67 Funções do Excel XP 
 
 Função ESCOLHER 
HIPERLINK 
Cria um atalho ou salto que abre um documento armazenado em um servidor de rede, 
uma intranet ou na Internet. Quando você clica na célula que contém a função 
HYPERLINK, o Microsoft Excel abre o arquivo armazenado em local_vínculo. 
Sintaxe 
HYPERLINK(local_vínculo,nome_amigável) 
Local_vínculo é o caminho e nome de arquivo para o documento que será aberto como 
texto. Local_vínculo pode se referir a uma posição em um documento — como uma 
célula específica ou um intervalo nomeado em uma planilha ou pasta de trabalho do 
Excel, ou a um marcador em um documento do Microsoft Word. O caminho pode ser para 
um arquivo armazenado em uma unidade de disco rígido, um caminho da convenção 
universal de nomenclatura (UNC) em um servidor (no Microsoft Excel para Windows) ou 
um caminho do localizador de recursos uniforme URL na Internet ou em uma intranet. 
Local_vínculo pode ser uma seqüência de caracteres de texto entre aspas ou uma célula 
que contém o vínculo como uma seqüência de caracteres de texto. 
 Se o salto especificado em local_vínculo não existir ou não puder ser navegado, 
aparecerá um erro quando você clicar na célula. 
Nome_amigável é o texto de salto ou valor numérico exibido na célula. Nome_amigável 
é exibido em azul e com sublinhado. Se nome_amigável for omitido, a célula exibirá o 
local_vínculo como um texto de salto. 
 
 
 
68 Funções do Excel XP 
Nome_amigável pode ser um valor, uma seqüência de caracteres de texto, um nome ou 
uma célula que contém o texto de salto ou valor. 
 Se nome_amigável retornar um valor de erro (por exemplo, #VALOR!), a célula 
exibirá o erro em vez do texto de salto. 
Comentários 
Para selecionar uma célula onde existe um hiperlink sem ir para o destino do hiperlink, 
clique na célula e mantenha o botão do mouse pressionado até o cursor se transformar 
em uma cruz, depois libere o botão do mouse. 
Exemplos 
Direciona o usuário para a URL do buscador Cadê. 
=HYPERLINK(―http://www.cade.com.br‖;CADÊ) 
Cria um hiperlink com a área denominada Totais de outra pasta de trabalho (externa), 
Minhapasta.xls: 
=HYPERLINK("[C:\Meus documentos\MinhaPasta.xls]Totais") 
INDIRETO 
Retorna a referência especificada por uma seqüência de caracteres de texto. As 
referências são imediatamente avaliadas para exibir seu conteúdo. Use INDIRETO 
quando quiser mudar a referência a uma célula em uma fórmula sem mudar a própria 
fórmula. 
Sintaxe 
INDIRETO(texto_ref;a1) 
Texto_ref é uma referência a uma célula que contém uma referência em estilo A1, uma 
referência em estilo L1C1, um nome definido como uma referência ou uma referência a 
uma célula como uma seqüência de caracteres de texto. Se texto_ref não for uma 
referência de célula válida, INDIRETO retorna o valor de erro #REF!. 
 
 
 
69 Funções do Excel XP 
 Se texto_ref referir-se a outra pasta de trabalho (uma referência externa), ela deve 
ser aberta. Se a pasta de trabalho original não estiver aberta, INDIRETO retornará 
o valor de erro #REF! 
A1 é um valor lógico que especifica o tipo de referência contido na célula texto_ref. 
 Se a1 for VERDADEIRO ou omitido, texto_ref será interpretado como uma 
referência em estilo A1. 
 Se a1 for FALSO, texto_ref será interpretado como uma referência em estilo 
L1C1. 
Exemplo 
 - Função INDIRETO 
ÍNDICE 
A função ÍNDICE apresenta duas formas de sintaxe: matriz e referência. A forma de 
matriz sempre retorna um valor ou uma matriz de valores; a forma de referência sempre 
retorna uma referência. Use a forma de matriz se o primeiro argumento deÍNDICE for 
uma constante de matriz. 
Sintaxe da forma matricial 
ÍNDICE(matriz,núm_linha,núm_coluna) 
Matriz é um intervalo de células ou uma constante de matriz. 
 
 
 
70 Funções do Excel XP 
 Se a matriz contiver apenas uma linha ou coluna, o argumento núm_linha ou 
núm_coluna correspondente é opcional. 
 Se a matriz tiver mais de uma linha e mais de uma coluna e apenas núm_linha ou 
núm_coluna for usado, ÍNDICE retornará uma matriz referente à linha ou coluna 
inteira da matriz. 
Núm_linha seleciona a linha na matriz a partir da qual um valor deverá ser retornado. Se 
núm_linha for omitido, núm_coluna é obrigatório. 
Núm_coluna seleciona a coluna na matriz a partir da qual um valor deverá ser 
retornado. Se núm_coluna for omitido, núm_linha é obrigatório. 
Comentários 
 Se os argumentos núm_linha e núm_coluna forem usados, ÍNDICE retornará o 
valor contido na célula que estiver no ponto de interseção entre núm_linha e 
núm_coluna. 
 Se você definir núm_linha ou núm_coluna como 0 (zero), ÍNDICE retornará a 
matriz de valores referente à coluna ou linha inteira, respectivamente. Para usar 
valores retornados como uma matriz, insira a função ÍNDICE como uma fórmula 
de matriz em um intervalo horizontal de células para uma linha e em um intervalo 
vertical de células para uma coluna. Para inserir uma fórmula de matriz, pressione 
CTRL+SHIFT+ENTER. 
 Núm_linha e núm_coluna devem fazer referência a uma célula dentro de uma 
matriz, caso contrário, ÍNDICE retornará o valor de erro #REF!. 
Exemplo 
 
 Função Índice 
LIN 
Retorna o número da linha de uma referência. 
 
 
 
71 Funções do Excel XP 
Sintaxe 
LIN(ref) 
Ref é a célula ou intervalo de células cujo número da linha você deseja obter. 
 Se ref for omitido, será equivalente à referência da célula na qual a função LIN 
aparecer. 
 Se ref for um intervalo de células e LIN for inserida como uma matriz vertical, LIN 
retornará os números de linha de referência como uma matriz vertical. 
 Ref não pode se referir a áreas múltiplas. 
Exemplo 
 
 Função LIN 
LINS 
Retorna o número de linhas em uma referência ou matriz. 
Sintaxe 
LINS(matriz) 
Matriz é uma matriz, uma fórmula de matriz ou uma referência a um intervalo de células 
cujo número de linhas você deseja obter. 
Exemplo 
 
 
 
 
72 Funções do Excel XP 
 Função LINS 
Funções Financeiras 
Vamos ver as principais funções financeiras disponibilizadas pelo Excel XP. 
DPD 
Retorna a depreciação em linha reta de um ativo durante um período. 
Sintaxe 
DPD(custo;recuperação;vida_útil) 
Custo é o custo inicial do ativo. 
Recuperação é o valor no final da depreciação (às vezes chamado de valor residual do 
ativo). 
Vida_útil é o número de períodos durante os quais o ativo é depreciado (às vezes 
chamado vida útil do ativo). 
Exemplo 
 
 Função DPD 
ÉPGTO 
Calcula os juros pagos durante um período específico de um investimento. Essa função é 
fornecida para que haja compatibilidade com o Lotus 1-2-3. 
 
 
 
73 Funções do Excel XP 
Sintaxe 
ÉPGTO(taxa;período;nper;vp) 
Taxa é a taxa de juros do investimento. 
Período é o período para o qual você deseja encontrar os juros e deve estar entre 1 e 
nper. 
Nper é o número total de períodos de pagamento do investimento. 
Vp é o valor presente do investimento. Para um empréstimo, vp é a quantia do 
empréstimo. 
Comentários 
 Certifique-se de que está consistente sobre as unidades usadas para especificar a 
taxa e nper. Se você fizer pagamentos mensais para um empréstimo de quatro 
anos com uma taxa de juros de 12%, use 12%/12 para taxa e 4*12 para nper. Se 
fizer pagamentos anuais no mesmo empréstimo, use 12% para taxa e 4 para 
nper. 
 Para todos os argumentos, o saldo em dinheiro pago, como depósitos em 
poupanças ou saques, é representado por números negativos; o saldo em 
dinheiro recebido, como cheques de dividendos e outros depósitos, é 
representado por números positivos. 
 Para obter informações adicionais sobre funções financeiras, consulte a função 
VP. 
 
Exemplo 
 
 
 
74 Funções do Excel XP 
 
 Função ÉPGTO 
IPGTO 
Retorna o pagamento de juros para um determinado período de investimento de acordo 
com pagamentos periódicos e constantes e com uma taxa de juros constante. Para obter 
uma descrição completa dos argumentos em IPGTO e para obter mais informações sobre 
funções de anuidade, consulte VP. 
Sintaxe 
IPGTO(taxa;período;nper;vp;vf;tipo) 
Taxa é a taxa de juros por período. 
Período é o período cujos juros se deseja saber e deve estar no intervalo entre 1 e 
nper. 
Nper é o número total de períodos de pagamento em uma anuidade. 
Vp é o valor presente ou atual de uma série de pagamentos futuros. 
Vf é o valor futuro, ou o saldo, que você deseja obter depois do último pagamento. Se vf 
for omitido, será considerado 0 (o valor futuro de um empréstimo, por exemplo, é 0). 
Tipo é o número 0 ou 1 e indica as datas de vencimento dos pagamentos. Se tipo for 
omitido, será considerado 0, onde 0 é o fim do período e 1 o início do período. 
 
 
 
75 Funções do Excel XP 
Comentários 
 Certifique-se de que esteja sendo consistente quanto às unidades usadas para 
especificar taxa e nper. Se fizer pagamentos mensais de um empréstimo de 
quatro anos com taxa de juros de 12% ao ano, use 12%/12 para taxa e 4*12 para 
nper. Se você fizer pagamentos anuais para o mesmo empréstimo, use 12% para 
taxa e 4 para nper. 
 Todos os argumentos, saques, tais como depósitos em poupança, serão 
representados por números negativos; depósitos recebidos, tais como cheques de 
dividendos, serão representados por números positivos. 
Exemplo 
 
 Função IPGTO 
VF 
Retorna o valor futuro de um investimento de acordo com os pagamentos periódicos e 
constantes e com uma taxa de juros constante. 
Sintaxe 
VF(taxa;nper;pgto;vp;tipo) 
Para obter uma descrição completa dos argumentos em VF e para obter mais 
informações sobre as funções de anuidade, consulte VP. 
Taxa é a taxa de juros por período. 
 
 
 
76 Funções do Excel XP 
Nper é o número total de períodos de pagamento em uma anuidade. 
Pgto é o pagamento feito a cada período; não pode mudar durante a vigência da 
anuidade. Geralmente, pgto contém o capital e os juros e nenhuma outra tarifa ou taxas. 
Se pgto for omitido, você deverá incluir o argumento vp. 
Vp é o valor presente ou a soma total correspondente ao valor presente de uma série de 
pagamentos futuros. Se vp for omitido, será considerado 0 (zero) e a inclusão do 
argumento pgto será obrigatória. 
Tipo é o número 0 ou 1 e indica as datas de vencimento dos pagamentos. Se tipo for 
omitido, será considerado 0, Onde 0 é o valor futuro e 1 o valor presente. 
Comentários 
 Certifique-se de que esteja sendo consistente quanto às unidades usadas para 
especificar taxa e nper. Se fizer pagamentos mensais de um empréstimo de 
quatro anos com taxa de juros de 12% ao ano, use 12%/12 para taxa e 4*12 para 
nper. Se você fizer pagamentos anuais para o mesmo empréstimo, use 12% para 
taxa e 4 para nper. 
 Todos os argumentos, saques, tais como depósitos em poupança, serão 
representados por números negativos; depósitos recebidos, tais como cheques de 
dividendos, serão representados por números positivos. 
Exemplo 
 
 Função VF 
 
 
 
77 Funções do Excel XP 
VP 
Retorna o valor presente de um investimento. O valor presente é o valor total 
correspondente ao valor atual de uma série de pagamentos futuros. Por exemplo, quando 
você pede dinheiro emprestado, o valor do empréstimo é o valor presente para quem 
empresta. 
Sintaxe 
VP(taxa;nper;pgto;vf;tipo)axa é a taxa de juros por período. Por exemplo, se você obtiver um empréstimo para um 
carro com uma taxa de juros de 10% ao ano e fizer pagamentos mensais, a sua taxa de 
juros mensal será 10%/12, ou 0,83%. Você deve inserir 10%/12, ou 0,83%, ou 0,0083, na 
fórmula como taxa. 
Nper é o número total de períodos de pagamento de uma anuidade. Por exemplo, se 
você obtiver um empréstimo de quatro anos e fizer pagamentos mensais, o empréstimo 
terá 4*12 (ou 48) períodos. Você deve inserir 48 na fórmula para nper. 
Pgto é o pagamento feito a cada período e não pode mudar durante a vigência da 
anuidade. Geralmente, pgto inclui o principal e os juros, e não há outras tarifas ou taxas. 
Por exemplo, os pagamentos mensais por um empréstimo para o carro de R$ 10.000 de 
quatro anos a 12% são R$ 263,33. Você deve inserir -263,33 na fórmula como pgto. Se 
pgto for omitido, você deverá incluir o argumento vf. 
Vf é o valor futuro, ou um saldo de caixa, que você deseja obter depois do último 
pagamento. Se vf for omitido, será considerado 0 (o valor futuro de determinado 
empréstimo, por exemplo, é 0). Por exemplo, se quiser economizar R$ 50.000 para pagar 
um projeto especial em 18 anos, então R$ 50.000 é o valor futuro. Você pode então 
calcular a taxa de juros e determinar quanto deverá economizar a cada mês. Se vf for 
omitido, você deverá incluir o argumento pgto. 
Tipo é o número 0 ou 1 e indica as datas de vencimento. Onde 0 é o valor futuro e 1 o 
valor presente. 
Exemplo 
 
 
 
78 Funções do Excel XP 
 
 Função VP 
MTIR 
Retorna a taxa interna de retorno modificada para uma série de fluxos de caixa 
periódicos. MTIR considera o custo do investimento e os juros recebidos no 
reinvestimento do capital. 
Sintaxe 
MTIR(valores;taxa_financ;taxa_reinvest) 
Valores é uma matriz ou referência a células que contêm números. Estes números 
representam uma série de pagamentos (valores negativos) e receitas (valores positivos) 
que ocorrem em períodos regulares. 
 Valores deve conter pelo menos um valor positivo e um negativo para calcular a 
taxa interna de retorno modificada. Caso contrário, MTIR retornará o valor de erro 
#DIV/0!. 
 Se uma matriz ou argumento de referência contiver texto, valores lógicos ou 
células vazias, estes valores serão ignorados; no entanto, células com valor zero 
serão incluídas. 
Taxa_financ é a taxa de juros paga sobre o dinheiro usado nos fluxos de caixa. 
Taxa_reinvest é a taxa de juros recebida nos fluxos de caixa ao reinvesti-los. 
Comentários 
 MTIR utiliza a ordem de valores para interpretar a ordem de fluxos de caixa. 
Certifique-se de inserir os valores de pagamento e renda na seqüência desejada e 
 
 
 
79 Funções do Excel XP 
com os sinais corretos (valores positivos para quantias recebidas, valores 
negativos para quantias pagas). 
 Se n for o número de fluxos de caixa, taxa f para taxa_financ e taxa r para 
taxa_reinvest, então a fórmula para MTIR será: 
 
Exemplo 
 
 Função MITR 
NOMINAL 
Retorna a taxa de juros anual nominal, dados a taxa efetiva e o número de períodos 
compostos por ano. 
Se esta função não estiver disponível e retornar o erro #NOME?, instale e carregue o 
suplemento Ferramentas de análise. 
Sintaxe 
 
 
 
80 Funções do Excel XP 
NOMINAL(taxa_efet,npera) 
Taxa_efet é a taxa de juros efetiva. 
Npera é o número de períodos compostos por ano. 
Comentários 
 Npera é truncado para que apareça como um número inteiro. 
 Se qualquer um dos argumentos não for numérico, NOMINAL retornará o valor de 
erro #VALOR!. 
 Se taxa_efet ≤ 0 ou se npera < 1, NOMINAL retornará o valor de erro #NÚM!. 
 NOMINAL está relacionada a EFFECT conforme indicado na seguinte equação: 
 
 
 
Exemplo 
 
 Função NOMINAL 
NPER 
Retorna o número de períodos para investimento de acordo com pagamentos constantes 
e periódicos e uma taxa de juros constante. 
Sintaxe 
 
 
 
81 Funções do Excel XP 
NPER(taxa;pgto;vp;vf;tipo) 
Para obter uma descrição completa dos argumentos em NPER e sobre as funções de 
anuidade, consulte VP. 
Taxa é a taxa de juros por período. 
Pgto é o pagamento feito em cada período; não pode mudar durante a vigência da 
anuidade. Geralmente, pgto contém o capital e os juros, mas nenhuma outra tarifa ou 
taxas. 
Vp é o valor presente ou atual de uma série de pagamentos futuros. 
Vf é o valor futuro, ou o saldo, que você deseja obter depois do último pagamento. Se vf 
for omitido, será considerado 0 (o valor futuro de um empréstimo, por exemplo, é 0). 
Tipo é o número 0 ou 1 e indica as datas de vencimento, onde 0 significa o fim do 
período e 1 o início do período. 
Exemplo 
 
 Função NPER 
 
 
 
82 Funções do Excel XP 
PGTO 
Retorna o pagamento periódico de uma anuidade de acordo com pagamentos constantes 
e com uma taxa de juros constante. 
Sintaxe 
PGTO(taxa;nper;vp;vf;tipo) 
Para obter uma descrição mais completa dos argumentos em PGTO, consulte a função 
VP. 
Taxa é a taxa de juros por período. 
Nper é o número total de pagamentos pelo empréstimo. 
Vp é o valor presente—o valor total presente de uma série de pagamentos futuros. 
Vf é o valor futuro, ou o saldo de caixa, que você deseja obter depois do último 
pagamento. Se vf for omitido, será considerado 0 (o valor futuro de determinado 
empréstimo, por exemplo, 0). 
Tipo é o número 0 ou 1 e indica as datas de vencimento. Onde 0 significa o fim do 
período e 1 o início do período. 
Exemplo 
 
 
 
83 Funções do Excel XP 
 
Função PGTO 
PPGTO 
Retorna o pagamento de capital para determinado período de investimento de acordo 
com pagamentos constantes e periódicos e uma taxa de juros constante. 
Sintaxe 
PPGTO(taxa;período;nper;vp;vf;tipo) 
Para uma descrição mais completa dos argumentos em PPGTO, consulte VP. 
Taxa é a taxa de juros por período. 
Período especifica o período e deve estar entre 1 e nper. 
Nper é o número total de períodos de pagamento em uma anuidade. 
Vp é o valor presente — o valor total correspondente ao valor atual de uma série de 
pagamentos futuros. 
Vf é o valor futuro, ou o saldo de caixa, que você deseja obter depois do último 
pagamento. Se vf for omitido, será considerado 0 (o valor futuro de determinado 
empréstimo, por exemplo, 0). 
Tipo é o número 0 ou 1 e indica as datas de vencimento. Onde 0 representa o fim do 
período e 1 o início do período. 
 
 
 
84 Funções do Excel XP 
Comentário 
Certifique-se de que esteja sendo consistente quanto às unidades usadas para 
especificar taxa e nper. Se fizer pagamentos mensais de um empréstimo de quatro anos 
com taxa de juros de 12% ao ano, use 12%/12 para taxa e 4*12 para nper. Se você fizer 
pagamentos anuais para o mesmo empréstimo, use 12% para taxa e 4 para nper. 
Exemplo 
 
 Função PPGTO 
TAXA 
Retorna a taxa de juros por período de uma anuidade. TAXA é calculado por iteração e 
pode ter zero ou mais soluções. Se os resultados sucessivos de TAXA não convergirem 
para 0,0000001 depois de 20 iterações, TAXA retornará o valor de erro #NÚM!. 
Sintaxe 
TAXA(nper;pgto;vp;vf;tipo;estimativa) 
 
Consulte VP para obter uma descrição completa dos argumentos nper, pgto, vp, vf e tipo. 
Nper é o número total de períodos de pagamento em uma anuidade. 
Pgto é o pagamento feito em cada período e não pode mudar durante a vigência da 
anuidade. Geralmente, pgto inclui o principal e os juros e nenhuma outra taxa ou tributo. 
Se pgto for omitido, você deverá incluir o argumento vf. 
 
 
 
85 Funções do Excel XP 
Vp é o valor presente — o valor total correspondente ao valor atual de uma série de 
pagamentosfuturos. 
Vf é o valor futuro, ou o saldo, que você deseja obter depois do último pagamento. Se vf 
for omitido, será considerado 0 (o valor futuro de um empréstimo, por exemplo, é 0). 
Tipo é o número 0 ou 1 e indica as datas de vencimento, onde 0 é o fim do período e 1 
o início do período. 
Estimativa é a sua estimativa para a taxa. 
 Se você omitir estimativa, este argumento será considerado 10%. 
 Se TAXA não convergir, atribua valores diferentes para estimativa. Em geral, 
TAXA converge se estimativa estiver entre 0 e 1. 
Comentários 
Certifique-se de que esteja sendo consistente quanto às unidades usadas para 
especificar estimativa e nper. Se você fizer pagamentos mensais por um empréstimo de 
quatro anos com juros de 12% ao ano, utilize 12%/12 para estimativa e 4*12 para nper. 
Se fizer pagamentos anuais para o mesmo empréstimo, utilize 12% para estimativa e 4 
para nper. 
Exemplo 
 
 Função TAXA 
 
 
 
86 Funções do Excel XP 
TIR 
Retorna a taxa interna de retorno de uma seqüência de fluxos de caixa representada 
pelos números em valores. Estes fluxos de caixa não precisam ser iguais como no caso 
de uma anuidade. Entretanto, os fluxos de caixa devem ser feitos em intervalos regulares, 
como mensalmente ou anualmente. A taxa interna de retorno é a taxa de juros recebida 
para um investimento que consiste em pagamentos (valores negativos) e receitas 
(valores positivos) que ocorrem em períodos regulares. 
Sintaxe 
TIR(valores;estimativa) 
Valores é uma matriz ou uma referência a células que contêm números cuja taxa 
interna de retorno se deseja calcular. 
 Valores deve conter pelo menos um valor positivo e um negativo para calcular a 
taxa interna de retorno. 
 TIR usa a ordem de valores para interpretar a ordem de fluxos de caixa. 
Certifique-se de inserir os valores de pagamentos e rendas na seqüência 
desejada. 
 Se uma matriz ou argumento de referência contiver texto, valores lógicos ou 
células em branco, estes valores serão ignorados. 
Estimativa é um número que se estima ser próximo do resultado de TIR. 
 O Microsoft Excel usa uma técnica iterativa para calcular TIR. Começando por 
estimativa, TIR refaz o cálculo até o resultado ter uma precisão de 0,00001 por 
cento. Se TIR não puder localizar um resultado que funcione depois de 20 
tentativas, o valor de erro #NÚM! será retornado. 
 Na maioria dos casos, não é necessário fornecer estimativa para o cálculo de TIR. 
Se estimativa for omitida, será considerada 0,1 (10 por cento). 
 Se TIR fornecer o valor de erro #NÚM!, ou se o resultado não for próximo do 
esperado, tente novamente com um valor diferente para estimativa. 
Comentários 
TIR está intimamente relacionada com VPL, a função do valor presente líquido. A taxa de 
retorno calculada por TIR é a taxa de juros correspondente a um valor presente líquido 
zero. A seguinte fórmula demonstra como VPL e TIR estão relacionados: 
 
 
 
87 Funções do Excel XP 
VPL(TIR(B1:B6);B1:B6) é igual a 3,60E-08 (Com a precisão do cálculo TIR, o valor 
3,60E-08 é, na verdade, 0.) 
Exemplo 
 
 TIR 
VPL 
Calcula o valor líquido atual de um investimento utilizando a taxa de desconto e uma série 
de futuros pagamentos (valores negativos) e receita (valores positivos). 
Sintaxe 
VPL(taxa,valor1,valor2; ...) 
Taxa é a taxa de desconto sobre o intervalo de um período. 
Valor1; valor2;... são argumentos de 1 a 29 que representam os pagamentos e a 
receita. 
 Valor1; valor2;... devem ter o mesmo intervalo de tempo entre eles e ocorrer ao 
final de cada período. 
 
 
 
88 Funções do Excel XP 
 VPL utiliza a ordem de valor1; valor2;... para interpretar a ordem de fluxos de 
caixa. Certifique-se de fornecer os valores de pagamentos e receita na seqüência 
correta. 
 Argumentos que são números, células vazias, valores lógicas ou representações 
em forma de texto de números são contados; os argumentos que são valores de 
erro ou texto que não podem ser traduzidos em números são ignorados. 
 Se um argumento for uma matriz ou referência, apenas os números da matriz ou 
referência serão contados. Células vazias, valores lógicos, valores de texto ou de 
erro na matriz ou referência são ignorados. 
Comentários 
 O investimento de VPL começa um período antes da data do fluxo de caixa de 
valor1 e termina com o último fluxo de caixa na lista. O cálculo de VPL baseia-se 
em fluxos e caixa futuros. Se o seu primeiro fluxo de caixa ocorrer no início do 
primeiro período, o primeiro valor deverá ser incluído ao resultado VPL, e não nos 
valores de argumentos. Para obter mais informações, consulte os exemplos 
abaixo. 
 Se n for o número de fluxos de caixa na lista de valores, a fórmula para VPL será: 
 
 
 VPL assemelha-se à função VP (valor presente). A principal diferença entre VP e 
VPL é que a primeira permite que os fluxos de caixa comecem no final ou no início 
do período. Diferentemente dos valores de fluxo de caixa da variável VPL, os 
fluxos de caixa VP devem ser constantes durante o período de investimento. Para 
obter informações sobre anuidades e funções financeiras, consulte VP. 
 VPL também está relacionado à função TIR (taxa interna de retorno). TIR é a taxa 
para qual VPL é igual a zero: VPL(TIR(...); ...)=0. 
Exemplo 
 
 
 
89 Funções do Excel XP 
 
 Função VPL 
Funções de Data e hora 
Vamos ver as principais funções para a manipulação de data e hora no Excel XP. 
AGORA 
Retorna o número de série seqüencial da data e hora atuais. Se o formato da célula era 
Geral antes de a função ser inserida, o resultado será formatado como uma data. 
Sintaxe 
AGORA( ) 
Comentários 
 O Microsoft Excel armazena datas como números de série seqüenciais para que 
eles possam ser usados em cálculos. Por padrão, 1° de janeiro de 1900 é o 
número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 
39.448 dias após 1° de janeiro de 1900. 
 Os números à direita da vírgula decimal no número de série representam a hora; 
os números à esquerda representam a data. Por exemplo, o número de série 0,5 
representa a hora 12:00 meio-dia. 
 A função AGORA só muda quando a planilha é calculada ou quando a macro que 
contém a função é executada, não sendo atualizada continuamente. 
 
 
 
90 Funções do Excel XP 
ANO 
Retorna o ano correspondente a uma data. O ano é retornado como um inteiro no 
intervalo de 1900-9999. 
Sintaxe 
ANO(núm_série) 
Núm_série é a data do ano que você deseja localizar. As datas devem ser inseridas 
com a função DATA ou como resultado de outras fórmulas ou funções. Por exemplo, use 
DATA(2008;5;23) para 23 de maio de 2008. 
Comentários 
O Microsoft Excel armazena datas como números de série seqüenciais para que eles 
possam ser usados em cálculos. Por padrão, 1° de janeiro de 1900 é o número de série 1 
e 1° de janeiro de 2008 é o número de série 39448 porque está 39.448 dias após 1° de 
janeiro de 1900. 
Os valores retornados pelas funções ANO, MÊS e DIA serão valores gregorianos, não 
importa qual seja o formato de exibição do valor de data fornecido. Por exemplo, se o 
formato de exibição da data fornecida for HIjri, os valores retornados para as funções 
ANO, MÊS e DIA serão valores associados à data gregoriana equivalente. 
Exemplo 
 
 - função ANO 
 
 
 
91 Funções do Excel XP 
DATA 
Retorna o número de série seqüencial que representa uma determinada data. Se o 
formato da célula era Geral antes de a função ser inserida, o resultado será formatado 
como uma data. 
Sintaxe 
DATA(ano,dia,mês) 
Ano O argumento de ano pode ter de um a quatro dígitos. O Microsoft Excel interpretará 
o argumento de ano de acordo com o sistema dedata que você estiver usando. Por 
padrão, o Excel para Windows usa o sistema de data de 1900. 
 Se o ano estiver entre 0 (zero) e 1899 (inclusive), o Excel adicionará o valor a 
1900 para calcular o ano. Por exemplo, DATA(108,2,1) retorna 2 janeiro, 2008 
(1900+108). 
 Se o ano estiver entre 1900 e 9999 (inclusive), o Excel usará esse valor como o 
ano. Por exemplo, DATA(2008,2,1) retorna 2 janeiro, 2008. 
 Se o ano for menor do que 0 ou igual a ou maior que 10000, o Excel retornará o 
valor de erro #NÚM!. 
 Se o ano estiver entre 4 e 1899 (inclusive), o Excel adicionará esse valor a 1900 
para calcular o ano. Por exemplo, DATA(108,2,1) retorna 2 janeiro, 2008 
(1900+108). 
 Se o ano estiver entre 1904 e 9999 (inclusive), o Excel usará esse valor como o 
ano. Por exemplo, DATA(2008,2,1) retorna 2 janeiro, 2008. 
 Se o ano for menor do que 4 ou igual a ou maior que 10000 ou se estiver entre 
1900 e 1903 (inclusive), o Excel retornará o valor de erro #NÚM!. 
Mês é um número que representa o mês do ano. Se o valor de mês for maior do que 12, 
esse número será adicionado ao primeiro mês do ano especificado. Por exemplo, 
DATA(2008,2,14) retorna o número de série que representa 2 fevereiro, 2009. 
Dia é um número que representa o dia do mês. Se o valor de dia for maior do que o 
número de dias do mês especificado, esse número será adicionado ao primeiro dia do 
mês. Por exemplo, DATA(2008,35,1) retorna o número de série que representa 4 
fevereiro, 2008. 
Comentários 
 O Excel armazena datas como números de série seqüenciais para que eles 
possam ser usados em cálculos. Por padrão, 1° de janeiro de 1900 é o número de 
 
 
 
92 Funções do Excel XP 
série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39.448 
dias após 1° de janeiro de 1900. 
 A função DATA é mais útil em fórmulas em que o ano, o mês e o dia são fórmulas, 
não constantes. 
 
 Função DATA 
DATA.VALOR 
Retorna o número de série da data representada por texto_data. Use DATA.VALOR para 
converter uma data representada pelo texto em um número de série. 
Sintaxe 
DATA.VALOR(texto_data) 
Texto_data é texto que representa uma data no formato de data do Microsoft Excel. Por 
exemplo, "30/1/1998" ou "30-jan-1998" são seqüências de caracteres de texto entre 
aspas que representam datas. Ao usar o sistema de data padrão no Excel para Windows, 
texto_data deverá representar uma data de 1º de janeiro de 1900 a 31 de dezembro de 
9999. 
Se a parte do ano de texto_data for omitida, DATA.VALOR utilizará o ano atual do relógio 
interno do computador. As informações de hora texto_data são ignoradas. 
Comentários 
O Excel armazena datas como números de série seqüenciais para que eles possam ser 
usados em cálculos. Por padrão, 1° de janeiro de 1900 é o número de série 1 e 1° de 
janeiro de 2008 é o número de série 39448 porque está 39.448 dias após 1° de janeiro de 
1900. 
 A maior parte das funções converte automaticamente valores de data em números de 
série. 
 
 
 
93 Funções do Excel XP 
Exemplo 
 
 Função DATA.VALOR 
DIA 
Retorna o dia de uma data representado por um número de série. O dia é dado como um 
inteiro que varia de 1 a 31. 
Sintaxe 
DIA(núm_série) 
Núm_série é a data do dia que você está tentando encontrar. As datas devem ser 
inseridas com a função DATA ou como resultado de outras fórmulas ou funções. Por 
exemplo, use DATA(2008,5,23) para 23 de maio de 2008. 
Comentários 
O Microsoft Excel armazena datas como números de série seqüenciais para que eles 
possam ser usados em cálculos. Por padrão, 1° de janeiro de 1900 é o número de série 1 
e 1° de janeiro de 2008 é o número de série 39448 porque está 39.448 dias após 1° de 
janeiro de 1900. 
Os valores retornados pelas funções ANO, MÊS e DIA serão valores gregorianos, 
independentemente do formato de exibição do valor de data fornecido. Por exemplo, se o 
formato de exibição da data fornecida for Hijir, os valores retornados para as funções 
ANO, MÊS e DIA serão valores associados à data gregoriana equivalente. 
 
 
 
94 Funções do Excel XP 
Exemplo 
 
 Função DIA 
DIA.DA.SEMANA 
Retorna o dia da semana correspondente a uma data. O dia é dado como um inteiro, 
variando de 1 (domingo) a 7 (sábado), por padrão. 
Sintaxe 
DIA.DA.SEMANA(núm_série; retornar_tipo) 
Núm_série é um número seqüencial que representa a data do dia que você está 
tentando encontrar. As datas devem ser inseridas com a função DATA ou como resultado 
de outras fórmulas ou funções. Por exemplo, use DATA(2008;5;23) para 23 de maio de 
2008. 
Retornar_tipo é um número que determina o tipo do valor retornado, onde 1 determina o 
intervalo entre 1 e 7 (de Domingo a sábado), o valor 2 representa o intervalo 1 a 7 como 
de Segunda a Domingo e o valor 3 representa o mesmo intervalo, Segunda a domingo 
mas para valores de 0 a 6. 
Comentários 
O Microsoft Excel armazena datas como números de série seqüenciais para que eles 
possam ser usados em cálculos. Por padrão, 1° de janeiro de 1900 é o número de série 1 
e 1° de janeiro de 2008 é o número de série 39448 porque está 39.448 dias após 1° de 
janeiro de 1900. 
Exemplo 
 
 
 
95 Funções do Excel XP 
 
 Função DIA.DA.SEMANA 
DIA360 
Retorna o número de dias entre duas datas com base em um ano de 360 dias (doze 
meses de 30 dias). Use esta função para ajudar no cálculo dos pagamentos, se o seu 
sistema de contábil estiver baseado em doze meses de 30 dias. 
Sintaxe 
DIAS360(data_inicial;data_final;método) 
Data_inicial e data_final são as duas datas entre as quais você deseja saber o número 
de dias. Se data_inicial ocorrer após data_final, DIAS360 retornará um número negativo. 
As datas devem ser inseridas com a função DATA ou como resultado de outras fórmulas 
ou funções. Por exemplo, use DATA(2008,5,23) para 23 de maio de 2008. 
Método é um valor lógico que especifica que método será usado no cálculo, o 
americano ou o europeu. 
 Se método for FALSO ou Omitido, utiliza-se o método americano, ou seja, se a 
data inicial for o dia 31 de um mês, ela se tornará igual ao dia 30 do mesmo mês. 
Se a data final for o dia 31 de um mês e a data inicial for anterior ao trigésimo dia 
de um mês, a data final se tornará igual ao dia primeiro do próximo mês. Caso 
contrário, a data final se tornará igual ao trigésimo dia do mesmo mês. 
 Se o método for Verdadeiro, utiliza-se o método europeu, ou seja, a data inicial e 
final que ocorrer no dia 31 de um mês se tornará igual ao trigésimo dia do mesmo 
mês. 
Comentários 
 
 
 
96 Funções do Excel XP 
O Microsoft Excel armazena datas como números de série seqüenciais para que eles 
possam ser usados em cálculos. Por padrão, 1° de janeiro de 1900 é o número de série 1 
e 1° de janeiro de 2008 é o número de série 39448 porque está 39.448 dias após 1° de 
janeiro de 1900. 
Exemplo 
 
 Função DIA360 
HOJE 
Retorna o número de série da data atual. O número de série é o código de data-hora 
usado pelo Microsoft Excel para cálculos de data e hora. Se o formato da célula era Geral 
antes de a função ser inserida, o resultado será formatado como uma data. 
Sintaxe 
HOJE( ) 
Comentários 
O Excel armazena datas como números de série seqüenciais para que eles possam ser 
usados em cálculos. Por padrão, 1° de janeiro de 1900 é o número de série 1 e 1° de 
janeiro de 2008 é o número de série 39448 porque está 39.448 dias após 1° de janeiro de 
1900. 
MÊS 
Retorna o mês de uma data representado por um número de série. O mês é fornecido 
como um inteiro, variando de 1 (janeiro) a 12 (dezembro). 
Sintaxe 
 
 
 
97 Funções do Excel XP 
MÊS(núm_série)Núm_série é a data do mês que você está tentando encontrar. As datas devem ser 
inseridas com a função DATA ou como resultado de outras fórmulas ou funções. Por 
exemplo, use DATA(2008,5,23) para 23 de maio de 2008. 
Comentários 
O Microsoft Excel armazena datas como números de série seqüenciais para que eles 
possam ser usados em cálculos. Por padrão, 1° de janeiro de 1900 é o número de série 1 
e 1° de janeiro de 2008 é o número de série 39448 porque está 39.448 dias após 1° de 
janeiro de 1900. 
Exemplo 
 
 Função Hoje 
VALOR TEMPO 
Retorna o número decimal da hora representada por uma seqüência de caracteres de 
texto. O número decimal é um valor que varia de 0 a 0,99999999 e 
que representa as horas entre 0:00:00 (12:00:00 AM) e 23:59:59 (11:59:59 PM). 
Sintaxe 
VALOR.TEMPO(texto_hora) 
Texto_hora é uma seqüência de caracteres de texto que representa uma hora em 
qualquer um dos formatos de hora do Microsoft Excel, por exemplo, as seqüências de 
caracteres de texto entre aspas "6:45 PM" e "18:45" representam hora. 
Comentários 
 
 
 
98 Funções do Excel XP 
 As informações de data em texto_hora são ignoradas. 
 O Excel para Windows e o Excel para o Macintosh usam sistemas de data 
diferentes como seus padrões. Os valores de tempo são uma parte do valor de 
data e são representados por um número decimal (por exemplo, 12:00 PM é 
representado por 0,5 porque é metade de um dia). 
Exemplo 
 
 Função VALOR.TEMPO 
Funções Lógicas 
Vamos verificar as funções que trabalham com valores de tipos boleanos (verdadeiro e 
falso, sim ou não), 
E 
Retornará VERDADEIRO se todos os argumentos forem verdadeiros; retornará FALSO 
se um ou mais argumentos forem falsos. 
Sintaxe 
E(lógico1;lógico2; ...) 
Lógico1; lógico2;... são de 1 a 30 condições que você deseja testar e que podem ser 
VERDADEIRO ou FALSO. 
Comentários 
 Os argumentos devem ser avaliados para valores lógicos, como VERDADEIRO 
ou FALSO, ou devem ser matrizes ou referências que contêm valores lógicos. 
 Se um argumento de uma matriz ou referência contiver texto ou células vazias, 
esses valores serão ignorados. 
 Se o intervalo especificado não contiver valores lógicos, E retornará o valor de 
erro #VALOR!. 
 
 
 
99 Funções do Excel XP 
Exemplo 
 
 Função E 
FALSO 
Retorna o valor lógico FALSO. 
Sintaxe 
FALSO( ) 
Comentários 
Você também pode digitar a palavra FALSO diretamente na planilha ou fórmula, e o 
Microsoft Excel a interpretará como o valor lógico FALSO. 
NÃO 
Inverte o valor do argumento. Use NÃO quando quiser ter certeza de que um valor não é 
igual a outro valor determinado. 
Sintaxe 
NÃO(lógico) 
Lógico é um valor ou expressão que pode ser avaliado como VERDADEIRO ou 
FALSO. 
 
 
 
100 Funções do Excel XP 
Comentários 
Se lógico for FALSO, NÃO retornará VERDADEIRO; se lógico for VERDADEIRO, NÃO 
retornará FALSO. 
Exemplo 
 
 Função NÃO 
OU 
Retorna VERDADEIRO se qualquer argumento for VERDADEIRO; retorna FALSO se 
todos os argumentos forem FALSOS. 
Sintaxe 
OU(lógico1;lógico2;...) 
Lógico1;lógico2,... são de uma a 30 condições que você deseja testar e que podem 
resultar em VERDADEIRO ou FALSO. 
Comentários 
 Os argumentos devem ser avaliados como valores lógicos, como VERDADEIRO 
ou FALSO, ou em matrizes ou referências que contenham valores lógicos. 
 Se um argumento de uma matriz ou referência contiver texto ou células vazias, 
esses valores serão ignorados. 
 Se o intervalo especificado não contiver valores lógicos, OU retornará o valor de 
erro #VALOR!. 
 Você pode usar uma fórmula de matriz OU para verificar se um valor ocorre em 
uma matriz. Para inserir uma fórmula de matriz, pressione CTRL+SHIFT+ENTER. 
Exemplo 
 
 
 
101 Funções do Excel XP 
 
 Função OU 
VERDADEIRO 
Retorna o valor lógico VERDADEIRO. 
Sintaxe 
VERDADEIRO( ) 
Comentários 
Você pode inserir o valor VERDADEIRO diretamente nas células e fórmulas sem usar 
esta função. A função VERDADEIRO é fornecida primeiramente para compatibilidade 
com outros programas de planilha. 
Funções Estatísticas 
Veremos agora as funções muito utilizadas para cálculos estatísticos em planilhas 
eletrônicas do Excel XP. 
CONT.NÚM 
Conta quantas células contêm números e também os números na lista de argumentos. 
Use CONT.NÚM para obter o número de entradas em um campo de número que estão 
em um intervalo ou matriz de números. 
Sintaxe 
CONT.NÚM(valor1;valor2;...) 
 
 
 
102 Funções do Excel XP 
Valor1; valor2, ... são argumentos de 1 a 30 que contêm ou se referem a uma 
variedade de diferentes tipos de dados, mas somente os números são contados. 
Comentários 
 Os argumentos que são números, datas ou representações de texto de número 
são calculados, os argumentos que são valores de erro ou texto que não podem 
ser traduzidos em números são ignorados. 
 Se um argumento for uma matriz ou referência, somente os números nesta matriz 
ou referência são calculados. Células vazias, valores lógicos, texto ou valores de 
erro nesta matriz ou referência são ignorados. Se você precisa calcular valores 
lógicos, texto ou valores de erro, utilize a função CONT.VALORES. 
Exemplo 
 
 Função CONT.NÚM 
CONT.SE 
Calcula o número de células não vazias em um intervalo que corresponde a 
determinados critérios. 
Sintaxe 
CONT.SE(intervalo;critérios) 
 
 
 
103 Funções do Excel XP 
Intervalo é o intervalo de células no qual se deseja contar células não vazias. 
Critérios é o critério na forma de um número, expressão ou texto que define quais 
células serão contadas. Por exemplo, os critérios podem ser expressos como 32, "32", 
">32", "maçãs". 
Comentários 
O Microsoft Excel fornece funções adicionais que podem ser usadas para analisar seus 
dados com base em uma condição. Por exemplo, para calcular uma soma baseada em 
uma seqüência de caracteres de texto ou em um número contido em um intervalo, use a 
função de planilha SOMASE. Para que a fórmula retorne um de dois valores com base 
em uma condição, como uma bonificação de vendas baseada em um valor de vendas 
especificado, use a função de planilha SE. 
Exemplo 
 
 Função CONT.SE 
CONT.VALORES 
Calcula o número de células não vazias e os valores na lista de argumentos. Use 
CONT.VALORES para calcular o número de células com dados em um intervalo ou 
matriz. 
Sintaxe 
CONT.VALORES(valor1;valor2;...) 
 
 
 
104 Funções do Excel XP 
Valor1; valor2;... são argumentos de 1 a 30 que representam os valores que você 
deseja calcular. Neste caso, um valor é qualquer tipo de informações, incluindo texto 
vazio (""), mas não incluindo células em branco. Se um argumento for uma matriz ou 
referência, as células vazias na matriz ou referência são ignoradas. Se você não precisa 
calcular valores lógicos, texto ou valores de erro, utilize a função CONT.NÚM 
Exemplo 
 
 Função CONT.VALORES 
CONTAR.VAZIO 
Conta o número de células vazias no intervalo especificado. 
Sintaxe 
CONTAR.VAZIO(intervalo) 
Intervalo é o intervalo no qual se deseja contar as células em branco. 
Comentários 
 
 
 
105 Funções do Excel XP 
Células com fórmulas que retornam "" (texto vazio) também são contadas. Células com 
valores nulos não são contadas. 
Exemplo 
 
 Função CONT.VAZIO 
CRESCIMENTO 
Calcula o crescimento exponencial previsto usando dados existentes. CRESCIMENTO 
retorna os valores y para uma série de novos valores x que você especifica usando 
valores x e y existentes. Você também pode usar a função de planilha CRESCIMENTO 
para ajustar uma curva exponencial em valores x e y. 
Sintaxe 
CRESCIMENTO(val_conhecidos_y;val_conhecidos_x;novos_valores_x;constante)Val_conhecidos_y é o conjunto de valores y que você já conhece na relação y = 
b*m^x. 
 Se a matriz val_conhecidos_y estiver em uma única coluna, cada coluna de 
val_conhecidos_x será interpretada como uma variável separada. 
 Se a matriz val_conhecidos_y for uma única linha, cada linha de 
val_conhecidos_x será interpretada como uma variável separada. 
 Se qualquer um dos números em val_conhecidos_y for 0 ou negativo, 
CRESCIMENTO retornará o valor de erro #NÚM!. 
Val_conhecidos_x é um conjunto opcional de valores x que você talvez conheça na 
relação y = b*m^x. 
 
 
 
106 Funções do Excel XP 
 A matriz val_conhecidos_x pode incluir um ou mais conjuntos de variáveis. Se 
apenas uma variável for usada, val_conhecidos_y e val_conhecidos_x podem ser 
intervalos de qualquer formato, desde que tenham dimensões iguais. Se mais de 
uma variável for usada, val_conhecidos_y deve ser um vetor (ou seja, um 
intervalo com altura de uma linha ou largura de uma coluna). 
 Se val_conhecidos_x for omitido, pressupõe-se que a matriz {1,2,3....} é do 
mesmo tamanho que val_conhecidos_y. 
Novos_valores_x são novos valores x para os quais você deseja que CRESCIMENTO 
retorne valores y correspondentes. 
 Novos_valores_x deve incluir uma coluna (ou linha) para cada variável 
independente, da mesma forma que val_conhecidos_x. Portanto, se 
val_conhecidos_y estiver em uma única coluna, val_conhecidos_x e 
novos_valores_x devem ter o mesmo número de colunas. Se val_conhecidos_y 
estiver em uma única linha, val_conhecidos_x e novos_valores_x devem ter o 
mesmo número de linhas. 
 Se novos_valores_x for omitido, será considerado como equivalente a 
val_conhecidos_x. 
 Se val_conhecidos_x e novos_valores_x forem omitidos, serão considerados 
como equivalentes à matriz {1,2,3,...} que é do mesmo tamanho de 
val_conhecidos_y. 
Constante é um valor lógico que força ou não a constante b a se igualar a 1. 
 Se constante for VERDADEIRO ou omitida, b será calculado normalmente. 
 Se constante for FALSO, b será definido como 1 e os valores m serão ajustados 
para que y = m^x. 
Comentários 
 As fórmulas que retornam matrizes devem ser inseridas como fórmulas de matriz 
após a seleção do número de células. 
 Ao inserir uma constante de matriz para um argumento, como val_conhecidos_x, 
use vírgulas na mesma linha e pontos-e-vírgulas para separar linhas. 
Exemplo 
 
 
 
107 Funções do Excel XP 
 
 Função CRESCIMENTO 
FREQÜÊNCIA 
Calcula a freqüência com que os valores ocorrem em um intervalo de valores e, em 
seguida, retorna uma matriz vertical de números. Por exemplo, use FREQÜÊNCIA para 
contar o número de resultados de teste. Pelo fato de FREQÜÊNCIA retornar uma matriz, 
deve ser inserida como uma fórmula matricial. 
Sintaxe 
FREQÜÊNCIA(matriz_dados;matriz_bin) 
Matriz_dados é uma matriz ou uma referência a um conjunto de valores cujas 
freqüências você deseja contar. Se matriz_dados não contiver valores, FREQÜÊNCIA 
retornará uma matriz de zeros. 
Matriz_bin é uma matriz ou referência a intervalos nos quais você deseja agrupar os 
valores contidos em matriz_dados. Se matriz_bin não contiver valores, FREQÜÊNCIA 
retornará o número de elementos em matriz_dados. 
Comentários 
 FREQÜÊNCIA é inserida como uma fórmula matricial depois de selecionado um 
intervalo de células adjacentes no qual você deseja que a distribuição fornecida 
apareça. 
 O número de elementos da matriz retornada é um a mais do que o número de 
elementos de matriz_bin. O elemento adicional da matriz retornada apresenta a 
 
 
 
108 Funções do Excel XP 
contagem dos valores que estiverem acima do intervalo mais alto. Por exemplo, 
ao contar três intervalos de valores inseridos em três células, certifique-se de 
inserir a FREQÜÊNCIA em quatro células para os resultados. A célula adicional 
retornará o número de valores de matriz_dados que forem maiores do que o valor 
do terceiro intervalo. 
 FREQÜÊNCIA ignora células em branco e texto. 
 As fórmulas que fornecem matrizes devem ser inseridas como fórmulas matriciais. 
Exemplo 
 
. - Função FREQÜÊNCIA 
MAIOR 
Retorna o maior valor k-ésimo de um conjunto de dados. Você pode usar esta função 
para selecionar um valor de acordo com a sua posição relativa. Por exemplo, você pode 
usar MAIOR para obter o primeiro, o segundo e o terceiro resultados. 
Sintaxe 
MAIOR(matriz;k) 
 
 
 
109 Funções do Excel XP 
Matriz é a matriz ou intervalo de dados cujo maior valor k-ésimo você deseja determinar. 
K é a posição (do maior) na matriz ou intervalo de célula de dados a ser fornecida. 
Comentários 
Se a matriz estiver vazia, MAIOR retornará o valor de erro #NÚM!. 
Se k ≤ 0 ou se k for maior que o número de pontos de dados, MAIOR retornará o valor de 
erro #NÚM!. 
Se n for o número de pontos de dados em um intervalo, MAIOR(matriz;1) retornará o 
maior valor e MAIOR(matriz;n) retornará o menor valor. 
Exemplo 
 
 Função MAIOR 
MÁXIMO 
Retorna o valor máximo de um conjunto de valores. 
Sintaxe 
MÁXIMO(núm1;núm2; ...) 
 
 
 
110 Funções do Excel XP 
Núm1, núm2,... são de 1 a 30 números para os quais você deseja saber o valor 
máximo. 
Comentários 
 Você pode especificar os argumentos que são números, células vazias, valores 
lógicos ou representações em texto de números. Os argumentos que são valores 
de erro ou texto que não podem ser traduzidos em números causam erros. 
 Se um argumento for uma matriz ou referência, apenas os números nesta matriz 
ou referência serão usados. Células vazias, valores lógicos ou texto na matriz ou 
referência serão ignorados. Se os valores lógicos e o texto tiverem que ser 
ignorados, use MÁXIMO. 
 Se os argumentos não contiverem números, MÁXIMO retornará 0. 
Exemplo 
 
Função MÁXIMO 
MÁXIMOA 
Retorna o maior valor em uma lista de argumentos. Além de números, são comparados 
valores lógicos e de texto, como VERDADEIRO e FALSO. 
MÁXIMOA é semelhante a MÍNIMOA. Para obter mais informações, consulte os 
exemplos de MÍNIMOA. 
Sintaxe 
MÁXIMOA(valor1;valor2;...) 
 
 
 
111 Funções do Excel XP 
Valor1; valor2;... são de 1 a 30 valores cujo valor máximo você deseja encontrar. 
Comentários 
 Você pode especificar argumentos que sejam números, células vazias, valores 
lógicos ou representações em forma de texto de números. Os argumentos que 
são valores de erro geram erros. Se o cálculo não deve incluir valores lógicos e de 
texto, use, em substituição, a função de planilha MÁXIMO. 
 Se um argumento for uma matriz ou referência, serão usados apenas valores 
nesta matriz ou referência. As células vazias e valores de texto na matriz ou 
referência serão ignorados. 
 Os argumentos que contiverem VERDADEIRO serão avaliados como 1; os 
argumentos que contiverem texto ou FALSO serão avaliados como 0 (zero). 
 Se os argumentos não contiverem valores, MÁXIMOA retornará 0 (zero). 
Exemplo 
 
Função MÁXMOA 
MED 
Retorna a mediana dos números indicados. A mediana é o número no centro de um 
conjunto de números; isto é, metade dos números possui valores que são maiores do que 
a mediana e a outra metade possui valores menores. 
Sintaxe 
MED(núm1;núm2;...) 
Núm1; núm2;... são de 1 a 30 números dos quais você deseja obter a mediana. 
 
 
 
112 Funções do Excel XP 
Comentários 
 Os argumentos devem ser números ou nomes, matrizes ou referências que 
contenham números. O Microsoft Excel examina todos os números em cada 
argumento de referência ou matriz. 
 Se uma matriz ou argumento de referência contiver texto, valores lógicos ou 
células vazias, estes valores serão ignorados; no entanto, células com valor zero 
serão incluídas. Se houver uma quantidade par de números no conjunto, MED calculará a média 
dos dois números do meio. Consulte a segunda fórmula no exemplo. 
Exemplo 
 
 Função MED 
MÉDIA 
Retorna a média aritmética dos argumentos. 
Sintaxe 
MÉDIA(núm1;núm2; ...) 
Núm1; núm2;... são de 1 a 30 argumentos numéricos para os quais você deseja obter a 
média. 
Comentários 
 
 
 
113 Funções do Excel XP 
 Os argumentos devem ser números ou eles devem ser nomes, matrizes ou 
referências que contenham números. 
 Se uma matriz ou argumento de referência contiver texto, valores lógicos ou 
células vazias, estes valores serão ignorados; no entanto, células com valor zero 
serão incluídas. 
Exemplo 
 
 Função Média 
MEDIASE 
Retorna a média (média aritmética) de todas as células em um intervalo que satisfazem 
um determinado critério. 
Sintaxe 
MÉDIASE(intervalo,critérios, intervalo_média) 
Intervalo é uma ou mais células a serem usadas para o cálculo da média, incluindo 
números ou nomes, matrizes ou referências que contêm números. 
Critérios são os critérios na forma de um número, uma expressão, uma referência de 
célula ou um texto que define as células a serem usadas para o cálculo da média. Por 
exemplo, os critérios podem ser expressos como 32, "32", ">32", "maçãs" ou B4. 
 
 
 
114 Funções do Excel XP 
Intervalo_média é o conjunto de células que será realmente usado para calcular a 
média. Se omitido, será usado o intervalo. 
Comentários 
Células no intervalo que contenham VERDADEIRO ou FALSO serão ignoradas. 
Se uma célula no intervalo_média for uma célula vazia, MÉDIASE a ignorará. 
Se um intervalo for um valor em branco ou um valor de texto, a MÉDIASE retornará o 
valor de erro #DIV0!. 
Se uma célula dos critérios estiver vazia, MÉDIASE a tratará como um valor igual a 0. 
Se nenhuma célula no intervalo satisfizer os critérios, MÉDIASE retornará o valor de erro 
#DIV/0!. 
Você pode utilizar caracteres curinga, como ponto de interrogação (?) e asterisco (*), nos 
critérios. Um ponto de interrogação corresponde a qualquer caractere; um asterisco 
corresponde a qualquer seqüência de caracteres. Se você quiser localizar um ponto de 
interrogação ou asterisco real, digite um til (~) antes do caractere. 
Intervalo_média não precisa ter o mesmo tamanho e a mesma forma que o intervalo. As 
células reais utilizadas no cálculo da média são determinadas utilizando-se a célula 
superior à esquerda do intervalo_média como a célula inicial, para que, em seguida, 
sejam incluídas as células que correspondam em tamanho e forma ao intervalo. Por 
exemplo: 
 
Exemplo: calculando a média de valores de propriedades e comissões 
Talvez seja mais fácil entender o exemplo se você copiá-lo em uma planilha em branco. 
 
 
 
115 Funções do Excel XP 
 
MÉDIASES 
Retorna a média (média aritmética) de todas as células que satisfazem múltiplos critérios. 
Sintaxe 
MÉDIASES(intervalo_média,intervalo1_critérios,critérios1,intervalo2_critérios,critér
ios2) 
Intervalo_média é uma ou mais células a serem usadas para o cálculo da média, 
incluindo números ou nomes, matrizes ou referências que contêm números. 
Intervalo1_critérios, intervalo2_critérios, … são de 1 a 127 intervalos para avaliar os 
critérios associados. 
Critérios1, critérios2, … são de um a 127 critérios na forma de um número, uma 
expressão, uma referência de célula ou um texto que define quais células serão usadas 
para calcular a média. Por exemplo, os critérios podem ser expressos como 32, "32", 
">32", "maçãs" ou B4. 
Comentários 
Se um intervalo_média for um valor em branco ou um valor de texto, a MÉDIASES 
retornará o valor de erro #DIV0!. 
 
 
 
116 Funções do Excel XP 
Se uma célula em um intervalo de critérios estiver vazia, MÉDIASES a tratará como um 
valor igual a 0. 
Células em intervalos que contiverem VERDADEIRO serão avaliadas como 1; células em 
intervalos que contiverem FALSO serão avaliadas como 0 (zero). 
Cada célula do intervalo_média será usada no cálculo da média apenas se todos os 
critérios correspondentes especificados forem verdadeiros para aquela célula. 
Diferentemente dos argumentos de intervalo e critérios na função MÉDIASE, em 
MÉDIASES cada intervalo_critérios deverá ter o mesmo tamanho e forma que o 
intervalo_soma. 
Se não for possível traduzir as células do intervalo_média em números, MÉDIASES 
retornará o valor de erro #DIV0!. 
Se nenhuma célula satisfizer os critérios, MÉDIASES retornará o valor de erro #DIV/0!. 
Você pode utilizar caracteres curinga, como ponto de interrogação (?) e asterisco (*), nos 
critérios. Um ponto de interrogação corresponde a qualquer caractere; um asterisco 
corresponde a qualquer seqüência de caracteres. Se você quiser localizar um ponto de 
interrogação ou asterisco real, digite um til (~) antes do caractere. 
Exemplo 
 
 
 
117 Funções do Excel XP 
 
MEDIAA 
Calcula a média (média aritmética) dos valores na lista de argumentos. Além de números, 
são incluídos no cálculo valores lógicos e de texto, como VERDADEIRO e FALSO. 
Sintaxe 
MÉDIAA(valor1;valor2;...) 
Valor1; valor2;... são de 1 a 30 células, intervalos de células ou valores para os quais 
você deseja obter a média. 
Comentários 
 Os argumentos devem ser números, nomes, matrizes ou referências. 
 Os argumentos de referência ou matriciais que contiverem texto serão avaliados 
como 0 (zero). O texto vazio ("") será avaliado como 0 (zero). Se o cálculo não 
deve incluir valores de texto na média, use a função MÉDIA. 
 Os argumentos que contiverem VERDADEIRO serão avaliados como 1; os 
argumentos que contiverem FALSO serão avaliados como 0 (zero). 
Exemplo 
 
 
 
118 Funções do Excel XP 
 
 Função MÉDIAA 
MÉDIA.GEOMÉTRICA 
Retorna a média geométrica de uma matriz ou de um intervalo de dados positivos. Por 
exemplo, você pode usar MÉDIA.GEOMÉTRICA para calcular o crescimento médio 
considerando-se juros compostos com taxas variáveis. 
Sintaxe 
MÉDIA.GEOMÉTRICA(núm1;núm2;...) 
Núm1, núm2,... são de 1 a 30 argumentos para os quais você deseja calcular a média. 
Você também pode usar uma única matriz ou referência a uma matriz em vez de 
argumentos separados por ponto-e-vírgulas. 
Comentários 
 Os argumentos devem ser números, ou nomes, matrizes ou referências que 
contenham números. 
 Se uma matriz ou argumento de referência contiver texto, valores lógicos ou 
células vazias, estes valores serão ignorados; no entanto, células com valor zero 
serão incluídas. 
 Se qualquer valor de dados ≤ 0, MÉDIA.GEOMÉTRICA retornará o valor de erro 
#NÚM!. 
 A equação para a média geométrica é: 
 
 
 
119 Funções do Excel XP 
 
Exemplo 
 
 Função MÉDIAGEOMÉTRICA 
SOMASE 
Use a função SOMASE para somar os valores em um intervalo que atendem aos critérios 
que você especificar. Por exemplo, suponha que em uma coluna que contém números, 
você deseja somar apenas os valores maiores que 5. É possível usar a seguinte fórmula: 
=SOMASE(B2:B25,">5") 
Nesse exemplo, os critérios são aplicados aos mesmos valores que estão sendo 
somados. Se desejar, você pode aplicar os critérios a um intervalo e somar os valores 
correspondentes em um intervalo correspondente. Por exemplo, a fórmula 
=SOMASE(B2:B5, "John", C2:C5) soma apenas os valores no intervalo C2:C5, em que as 
células correspondentes no intervalo B2:B5 equivalem a "John". 
Sintaxe 
SOMASE(intervalo, critérios, [intervalo_soma]) 
A sintaxe da função SOMASE tem os seguintes argumentos: 
 
 
 
120 Funções do Excel XP 
intervalo . O intervalo de células que se deseja calcular por critérios. As células em cadaintervalo devem ser números e nomes, matrizes ou referências que contêm números. 
Espaços em branco e valores de texto são ignorados. 
critérios . Os critérios na forma de um número, expressão, referência de célula, texto ou 
função que define quais células serão adicionadas. Por exemplo, os critérios podem ser 
expressos como 32, ">32", B5, 32, "32", "maçãs" ou HOJE(). 
 Importante Qualquer critério de texto ou qualquer critério que inclua símbolos lógicos 
ou matemáticos deve estar entre aspas duplas ("). Se os critérios forem numéricos, as 
aspas duplas não serão necessárias. 
intervalo_soma Opcional. As células reais a serem adicionadas, se você quiser 
adicionar células diferentes das especificadas no argumento de intervalo. Se o argumento 
intervalo_soma for omitido, o Excel adicionará as células especificadas no argumento 
intervalo (as mesmas células às quais os critérios são aplicados). 
 
SOMASES 
Adiciona as células em um intervalo que atendem a vários critérios. Por exemplo, se você 
quiser somar os números no intervalo A1:A20 apenas se os números correspondentes 
em B1:B20 forem maior do que zero (0) e os números correspondentes em C1:C20 forem 
menores do que 10, poderá usar a seguinte fórmula: 
 
 
 
121 Funções do Excel XP 
=SOMASES(A1:A20, B1:B20, ">0", C1:C20, "<10") 
 Importante A ordem dos argumentos é diferente entre as funções SOMASES e 
SOMASE. Em particular, o argumento sum_range é o primeiro em SOMASES, mas é o 
terceiro em SOMASE. Se você estiver copiando e editando essas funções semelhantes, 
coloque os argumentos na ordem correta. 
Sintaxe 
SOMASES(intervalo_soma, intervalo_critérios1, critérios1, [intervalo_critérios2,
 critérios2], …) 
A sintaxe da função SOMASES tem os seguintes argumentos: 
intervalo_soma Necessário. Uma ou mais células para somar, incluindo números ou 
nomes, intervalos ou referências de célula que contêm números. Valores em branco e de 
texto são ignorados. 
intervalo_critérios1 Necessário. O primeiro intervalo no qual avaliar os critérios 
associados. 
critérios1 Necessário. Os critérios no formato de um número, uma expressão, uma 
referência de célula ou um texto que define quais células no argumento 
intervalo_critérios1 serão adicionadas. Por exemplo, os critérios podem ser expressos 
como 32, ">32", B4, "maças" ou "32." 
intervalo_critérios2, critérios2, … Opcional. Intervalos adicionais e seus critérios 
associados. Até 127 intervalo/critérios pares são permitidos. 
Comentários 
Cada célula no argumento intervalo_soma apenas será somada se todos os critérios 
correspondentes especificados forem verdadeiros para essa célula. Por exemplo, 
suponha que uma fórmula contenha dois argumentos intervalo_critérios. Se a primeira 
célula de intervalo_critérios1 atender a critérios1 e a primeira célula de 
intervalo_critérios2 atender a critérios2, a primeira célula de intervalo_soma será 
adicionada à soma, e assim por diante, para as células restantes nos intervalos 
especificados. 
 
 
 
122 Funções do Excel XP 
As células no argumento intervalo_soma que contêm VERDADEIRO são avaliadas como 
1; as células em intervalo_soma que contêm FALSO são avaliadas como 0 (zero). 
Ao contrário dos argumentos "intervalo" e "critérios" na função SOMASE, na função 
SOMASES, cada argumento intervalo_critérios deve conter o mesmo número de linhas e 
colunas que o argumento intervalo_soma. 
Você pode usar os caracteres curinga — o ponto de interrogação (?) e o asterisco (*) — 
em critérios. Um ponto de interrogação corresponde qualquer caractere simples, e um 
asterisco corresponde qualquer seqüência de caracteres. Se quiser localizar um ponto de 
interrogação ou asterisco real, digite um til (~) antes do caractere. 
Exemplo 
 
CONT.SE 
função CONT.SE conta o número de células dentro de um intervalo que atendem a um 
único critério que você especifica. Por exemplo, é possível contar todas as células que 
começam com uma certa letra ou todas as células que contêm um número maior do que 
 
 
 
123 Funções do Excel XP 
ou menor do que um número que você especificar. Por exemplo, suponha uma planilha 
que contenha uma lista de tarefas na coluna A e o nome da pessoa atribuída a cada 
tarefa na coluna B. Você pode usar a função CONT.SE para contar quantas vezes o 
nome de uma pessoa aparece na coluna B e, dessa maneira, determinar quantas tarefas 
são atribuídas a essa pessoa. Por exemplo: 
=CONT.SE(B2:B25,"Nancy") 
 Observação Para contar células com base em vários critérios, consulte Função 
CONT.SES. 
Sintaxe 
CONT.SE(intervalo, critérios) 
A sintaxe da função CONT.SE tem os seguintes argumentos: 
intervalo Necessário. Uma ou mais células a serem contadas, incluindo números ou 
nomes, matrizes ou referências que contêm números. Campos em branco e valores de 
texto são ignorados. 
critérios Necessário. Um número, uma expressão, uma referência de célula ou uma 
cadeia de texto que define quais células serão contadas. Por exemplo, os critérios podem 
ser expressos como 32, "32", ">32", "maçãs" ou B4. 
Observações 
Você pode usar os caracteres curinga — o ponto de interrogação (?) e o asterisco (*) — 
em critérios. Um ponto de interrogação corresponde qualquer caractere simples, e um 
asterisco corresponde qualquer seqüência de caracteres. Se quiser localizar um ponto de 
interrogação ou asterisco real, digite um til (~) antes do caractere. 
Critérios não fazem distinção entre maiúsculas e minúsculas; por exemplo, a cadeia 
"maçãs" e a cadeia "MAÇÃS" corresponderão as mesmas células. 
Exemplo 
 
 
 
124 Funções do Excel XP 
 
CONTE.SES 
Aplica critérios a células em vários intervalos e conta o número de vezes que todos os 
critérios são atendidos. 
Sintaxe 
CONT.SES(intervalo_critérios1, critérios1, [intervalo_critérios2, 
critérios2]…) 
A sintaxe da função CONT.SES tem os seguintes argumentos: 
intervalo_critérios1 Necessário. O primeiro intervalo no qual avaliar os critérios 
associados. 
critérios1 Necessário. Os critérios no formato de um número, uma expressão, uma 
referência de célula ou um texto que define quais células serão contadas. Por exemplo, 
os critérios podem ser expressos como 32, ">32", B4, "maçãs" ou "32". 
 
 
 
125 Funções do Excel XP 
intervalo_critérios2, critérios2, ... Opcional. Intervalos adicionais e seus critérios 
associados. Até 127 intervalo/critérios pares são permitidos. 
 Importante Cada intervalo adicional deve ter o mesmo número de linhas e colunas que 
o argumento intervalo_critérios1. Os intervalos não precisam ser adjacentes entre si. 
Comentários 
Os critérios de cada intervalo são aplicados a uma célula de cada vez. Se todas as 
primeiras células atenderem aos seus critérios associados, a contagem aumentará em 1. 
Se todas as segundas células atenderem aos seus critérios associados, a contagem 
aumentará em 1 novamente e assim por diante até que todas as células sejam avaliadas. 
Se o argumento de critérios for uma referência a uma célula vazia, a função CONT.SES 
tratará essa célula vazia como um valor 0. 
Você pode usar os caracteres curinga — o ponto de interrogação (?) e o asterisco (*) — 
nos critérios. Um ponto de interrogação corresponde qualquer caractere simples, 
enquanto um asterisco corresponde qualquer seqüência de caracteres. Se você quiser 
encontrar um ponto de interrogação ou asterisco real, digite um til (~) antes do caractere. 
Exemplo 
 
 
 
126 Funções do Excel XP 
 
MENOR 
Retorna o menor valor k-ésimo do conjunto de dados. Use esta função para retornar 
valores com uma posição específica relativa em um conjunto de dados. 
Sintaxe 
MENOR(matriz;k)Matriz é uma matriz ou intervalo de dados numéricos cujo menor valor k-ésimo você 
deseja determinar. 
K é a posição (a partir do menor) na matriz ou intervalo de dados a ser fornecido. 
Comentários 
 Se matriz estiver vazia, MENOR retornará o valor de erro #NÚM!. 
 Se k ≤ 0 ou k exceder o número de pontos de dados, MENOR retornará o valor de 
erro #NÚM!. 
 Se n for o número de pontos de dados em matriz, MENOR(matriz;1) será igual ao 
menor valor, e MENOR(matriz;n) será igual ao maior valor. 
 
 
 
127 Funções do Excel XP 
Exemplo 
 
 Função MENOR 
MÍNIMO 
Retorna o menor número na lista de argumentos. 
Sintaxe 
MÍNIMO(núm1;núm2;...) 
Núm1, núm2,... são de 1 a 30 números dos quais você deseja saber o valor mínimo. 
Comentários 
 Você pode especificar os argumentos que são números, células vazias, valores 
lógicos ou representações em texto de números. Os argumentos que são valores 
de erro ou texto que não podem ser traduzidos em números causam erros. 
 Se um argumento for uma matriz ou referência, apenas os números daquela 
matriz ou referência poderão ser usados. Células vazias, valores lógicos ou 
valores de erro na matriz ou referência serão ignorados. Caso o texto e os valores 
lógicos não devam ser ignorados, utilize MÍNIMOA. 
 Se os argumentos não contiverem números, MÍNIMO retornará 0. 
 
 
 
128 Funções do Excel XP 
Exemplo 
 
 Função Mínimo 
MÍNIMOA 
Comparados valores lógicos e de texto, como VERDADEIRO e FALSO. 
Sintaxe 
MÍNIMOA(valor1;valor2;...) 
Valor1; valor2;... são de 1 a 30 valores cujo menor valor você deseja encontrar. 
Comentários 
 Você pode especificar argumentos que sejam números, células vazias, valores 
lógicos ou representações em forma de texto de números. Os argumentos que 
são valores de erro geram erros. Se o cálculo não deve incluir valores lógicos ou 
de texto, use, em substituição, a função de planilha MÍNIMO. 
 Se um argumento for uma matriz ou referência, serão usados apenas valores 
nesta matriz ou referência. As células vazias e valores de texto na matriz ou 
referência serão ignorados. 
 Os argumentos que contiverem VERDADEIRO serão avaliados como 1; os 
argumentos que contiverem texto ou FALSO serão avaliados como 0 (zero). 
 Se os argumentos não contiverem valores, MÍNIMOA retornará 0 (zero). 
Exemplo 
 
 
 
129 Funções do Excel XP 
 
 Função MÍNIMOA 
MODO 
Retorna o valor que ocorre com mais freqüência em uma matriz ou intervalo de dados. 
Assim como MED, MODO é uma medida de local. 
Sintaxe 
MODO(núm1;núm2;...) 
Núm1, núm2,... são argumentos de 1 a 30 para os quais você deseja calcular o modo. 
Você também pode usar uma única matriz ou referência a uma matriz em vez de 
argumentos separados por pontos-e-vírgulas. 
Comentários 
 Os argumentos devem ser números ou nomes, matrizes ou referências que 
contenham números. 
 Se uma matriz ou argumento de referência contiver texto, valores lógicos ou 
células vazias, estes valores serão ignorados; no entanto, células com valor zero 
serão incluídas. 
 Se o conjunto de dados não contiver pontos de dados duplicados, MODO 
retornará o valor de erro #N/D. 
Em um conjunto de valores, o modo é o valor com ocorrência mais freqüente, a mediana 
é o valor do meio e a média é o valor médio. Nenhuma medida única de tendência central 
fornece um quadro completo dos dados. Suponha que os dados estejam agrupados em 
três áreas, metade em torno de um único valor baixo e a outra metade em torno de dois 
 
 
 
130 Funções do Excel XP 
valores altos. MÉDIA e MED podem retornar um valor no meio relativamente vazio, 
enquanto que MODO pode retornar o valor baixo dominante. 
Exemplo 
 
 Função MODO 
QUARTIL 
Retorna o quartil do conjunto de dados. Quartis são comumente usados em dados de 
vendas e de pesquisas para dividir a população em grupos. Por exemplo, você pode usar 
QUARTIL para descobrir 25% de maior renda de uma população. 
Sintaxe 
QUARTIL(matriz;quarto) 
Matriz é a matriz ou intervalo de célula de valores numéricos cujo valor quartil você 
deseja obter. 
Quarto indica o valor a ser retornado, onde 0 é o valor mínimo, 1 representa 25%, 2 
representa 50%, 3 representa 75% e 4 o valor máximo. 
Comentário 
 Se a matriz estiver vazia, QUARTIL retornará o valor de erro #NÚM!. 
 Se quarto não for um número inteiro, será truncado. 
 
 
 
131 Funções do Excel XP 
 Se quarto < 0 ou se quarto > 4, QUARTIL retornará o valor de erro #NÚM!. 
 MÍNIMO, MED e MÁXIMO retornarão o mesmo valor que QUARTIL quando quarto 
for igual a 0, 2 e 4, respectivamente. 
Exemplo 
 
 Função QUARTIL 
Funções de texto 
O Excel XP dispõe de várias funções para o tratamento de texto em planilhas, desde 
conversão a concatenação de strings. 
CONCATENAR 
Agrupa várias seqüências de caracteres de texto em uma única seqüência de caracteres 
de texto. 
Sintaxe 
CONCATENAR (texto1;texto2; ...) 
Texto1; texto2;... são 1 a 30 itens de texto a serem agrupados em um único item de 
texto. Os itens de texto podem ser seqüência de caracteres de texto, números ou 
referências de célula única. 
 
 
 
132 Funções do Excel XP 
Comentários 
O operador "&" pode ser usado no lugar de CONCATENAR para agrupar itens de texto. 
Exemplo 
 
 Função CONCATENAR 
DEF.NÚM.DEC 
Arredonda o número para o número especificado de decimais, formata o número no 
formato decimal usando vírgula e pontos e retorna o resultado como texto. 
Sintaxe 
DEF.NÚM.DEC(núm;decimais;sem_sep_milhar) 
Núm é o número que você deseja arredondar e converter em texto. 
Decimais é o número de dígitos à direita da vírgula decimal. 
Sem_sep_milhar é um valor lógico que, se VERDADEIRO, impede que DEF.NÚM.DEC 
inclua vírgulas no texto retornado. 
Comentários 
 Os números no Microsoft Excel não podem ter mais de 15 dígitos significativos, 
mas os decimais podem chegar a 127. 
 Se decimais for negativo, núm será arredondado à esquerda da vírgula decimal. 
 
 
 
133 Funções do Excel XP 
 Se você omitir decimais, ele será considerado 2. 
 Se sem_sep_milhar for FALSO ou omitido, o texto retornado incluirá vírgulas 
como padrão. 
 A principal diferença entre formatar uma célula que contém um número com o 
comando Células (menu Formatar) e formatar um número diretamente com a 
função DEF.NÚM.DEC é que DEF.NÚM.DEC converte o resultado em texto. Um 
número formatado com o comando Células continua sendo um número. 
Exemplo 
 
 Função DEF.NÚM.DEC 
DIREITA 
DIREITA retorna o último caractere ou caracteres em uma seqüência de caracteres de 
texto com base no número de caracteres especificado por você. 
Sintaxe 
DIREITA(texto;núm_caract) 
Texto é a seqüência de caracteres de texto que contém os caracteres que você deseja 
extrair. 
Núm_caract especifica o número de caracteres a ser extraído por DIREITA. 
 
 
 
134 Funções do Excel XP 
Comentários 
 Núm_caract deve ser maior ou igual a zero. 
 Se núm_caract for maior do que o comprimento do texto, DIREITA retornará todo 
o texto. 
 Se núm_caract for omitido, será considerado 1. 
Exemplo 
 
. Função DIREITA 
ESQUERDA 
ESQUERDA retorna o primeiro caractere ou caracteres em uma seqüência de caracteres 
de texto baseado no número de caracteres especificado por você. 
Sintaxe 
ESQUERDA(texto;núm_caract) 
Texto é a seqüência de caracteres de texto que contém os caracteres que você deseja 
extrair. 
Núm_caract especifica o número de caracteres que você deseja que ESQUERDA 
extraia. 
Núm_caract deve ser maior ou igual a zero. 
 Se núm_caract for maior do que o comprimento do texto, ESQUERDA retornará 
todoo texto. 
 Se núm_caract for omitido, será considerado 1. 
 
 
 
135 Funções do Excel XP 
Exemplo 
 
 Função ESQUERDA 
EXT.TEXTO 
EXT.TEXTO retorna um número específico de caracteres da seqüência de caracteres 
texto, começando na posição especificada, com base no número de caracteres 
especificado. 
Sintaxe 
EXT.TEXTO(texto;núm_inicial;núm_caract) 
Texto é a seqüência de caracteres de texto que contém os caracteres que você deseja 
extrair. 
Núm_inicial é a posição do primeiro caractere que você deseja extrair como texto. O 
primeiro caractere em texto possui núm_inicial1, e assim por diante. 
Núm_caract especifica o número de caracteres que você deseja que EXT.TEXTO 
retorne do texto. 
Comentários 
 Se núm_inicial for maior do que o comprimento de texto, EXT.TEXTO retornará "" 
(texto vazio). 
 Se núm_inicial for menor do que o comprimento de texto, mas núm_inicial e 
núm_caract excederem o comprimento de texto, EXT.TEXTO retornará os 
caracteres até o final do texto. 
 Se núm_inicial for menor do que 1, EXT.TEXTO retornará o valor de erro 
#VALOR!. 
 Se núm_caract for negativo, EXT.TEXTO retornará o valor de erro #VALOR!. 
 
 
 
136 Funções do Excel XP 
Exemplo 
 
 Função EXT.TEXTO 
LOCALIZAR 
LOCALIZAR retorna o número do caractere no qual um caractere específico ou uma 
seqüência de caracteres de texto é encontrado primeiro, começando com núm_inicial. 
Use LOCALIZAR para determinar o local de um caractere ou uma seqüência de 
caracteres de texto em outra seqüência para que você possa usar as funções 
EXT.TEXTO ou MUDAR para alterar o texto. 
Sintaxe 
LOCALIZAR(texto_procurado;no_texto;núm_inicial) 
Texto_procurado é o texto que você deseja localizar.É possível usar os caracteres 
curinga ponto de interrogação (?) e asterisco (*) em texto_procurado. Um ponto de 
interrogação coincide com qualquer caractere único; um asterisco coincide com qualquer 
seqüência de caracteres. Se desejar localizar um ponto de interrogação ou asterisco real, 
digite um til (~) antes do caractere. 
No_texto é o texto em que se deseja localizar o texto_procurado. 
Núm_inicial é o número do caractere em no_texto em que se deseja iniciar a pesquisa. 
Comentários 
 
 
 
137 Funções de tratamento de erro 
 LOCALIZAR e LOCALIZARB não fazem distinção entre letras maiúsculas e 
minúsculas quando localiza texto. 
 Se texto_procurado não for localizado, o valor de erro #VALOR! será retornado. 
 Se núm_inicial for omitido, será equivalente a 1. 
 Se núm_inicial não for maior do que 0 ou for maior do que o comprimento de 
no_texto, o valor de erro #VALOR! será retornado. 
Exemplo 
 
 Função LOCALIZAR 
 
Funções de tratamento de erro 
ÉERROS 
Cada uma dessas funções, chamada coletivamente de funções É, verifica o valor 
especificado e retorna VERDADEIRO ou FALSO, dependendo do resultado. Por 
exemplo, a função ÉCÉL.VAZIA retornará o valor lógico VERDADEIRO se o argumento 
de valor for uma referência a uma célula vazia; caso contrário, ele retornará FALSO. 
Você pode usar uma função É para obter informações sobre um valor antes de realizar 
um cálculo ou outra ação com ele. Por exemplo, é possível usar a função ÉERRO junto 
com a função SE para realizar uma ação diferente se um erro ocorrer: 
=SE(ÉERRO(A1), "Um erro ocorreu.", A1 * 2) 
 
 
 
138 Funções de tratamento de erro 
Essa fórmula verifica se existe uma condição de erro em A1. Em caso positivo, a função 
SE retornará a mensagem "Um erro ocorreu". Se não houver erro, a função SE realizará 
o cálculo A1*2. 
SEERRO 
Retorna um valor especificado se uma fórmula gerar um erro; caso contrário, retorna o 
resultado da fórmula. Use a função SEERRO para capturar e controlar os erros em uma 
fórmula. 
Sintaxe 
SEERRO(value,value_if_error) 
Value é o argumento verificado quanto ao erro. 
Value_if_error é o valor a ser retornado se a fórmula gerar um erro. Os seguintes tipos 
de erro são avaliados #N/D, #VALOR!, #REF!, #DIV/0!, #NÚM!, #NOME? ou #NULO!). 
Comentários 
Se value ou value_if_error for uma célula vazia, SEERRO a tratará como um valor de 
seqüência vazio (""). 
Se o valor for uma fórmula de matriz, SEERRO retornará uma matriz de resultados para 
cada célula no intervalo especificado no valor. Consulte o segundo exemplo a seguir. 
Exemplo: Ajustando erros de divisão, utilizando uma fórmula regular 
Talvez seja mais fácil de compreender o exemplo se você copiá-lo para uma planilha em 
branco. 
 
 
 
139 Funções de tratamento de erro 
 
 
 
 
 
140 Fundamentos básicos de Macros e VBA 
Fundamentos básicos de Macros e VBA 
Introdução 
Nesse e no próximo módulo veremos assuntos relacionados a automação de tarefas no 
Excel. Existem situações onde não conseguimos resolver o problema proposto, 
simplesmente utilizando os comandos e fórmulas do Excel. Nessas situações temos que 
fazer o uso de recursos como Macros e Programação. A linguagem de programação do 
Excel é o VBA - Visual Basic for Applications. O VBA é a linguagem de programação para 
todos os aplicativos do Microsoft Office: Word, Excel, Access e Power Point. 
Nas lições desse módulo aprenderemos sobre Macros. Veremos o que é uma Macro, 
para que serve, quando devemos usar Macros, como criar e alterar Macros. Em seguida 
aprenderemos os fundamentos básicos da linguagem VBA. 
Nas lições desse módulo veremos os conceitos teóricos da linguagem VBA. Nas lições do 
próximo módulo, veremos exemplos de aplicação do VBA para a solução de problemas 
práticos, os quais não poderiam ser solucionados sem o uso de programação. 
O que são Macros? 
Nesse tópico apresentaremos uma visão geral sobre Macros. Nas próximas lições iremos 
detalhar os vários aspectos relacionados à Macros. 
Caso você execute uma tarefa várias vezes no Microsoft Excel, é possível automatizá-la 
com uma macro. Uma macro é uma seqüência de comandos e funções armazenados em 
um módulo do Visual Basic for Applications - VBA e pode ser executada sempre que 
você 
precisar executar a tarefa. Quando você grava uma macro, o Excel armazena 
informações sobre cada etapa realizada à medida que você executa uma seqüência de 
comandos. Em seguida, você executa a macro para repetir, ou "reproduzir", os 
comandos. 
Por exemplo, vamos supor que, seguidamente, você precisa formatar uma célula com 
Negrito, cor de fonte Vermelha, Itálico, Fonte Verdana de Tamanho 13 com quebra 
automática de linha. Ao invés de ter que executar todos os comandos de formatação em 
cada célula, você pode criar uma Macro que aplica todos os comandos de formatação. 
Após criada a Macro, cada vez que você tiver que aplicar o conjunto de comandos de 
formatação, basta executar a Macro, o que normalmente é feito através da associação 
de uma combinação de teclas com a Macro, como por exemplo Ctrl+L. No nosso 
 
 
 
141 Fundamentos básicos de Macros e VBA 
exemplo, cada vez que você quisesse formatar uma célula com os formatos descritos, 
bastaria clicar na célula e pressionar Ctrl+L. Bem mais fácil do que aplicar cada comando 
individualmente. 
Você pode Gravar uma macro para realizar uma tarefa em uma etapa: Antes de 
gravar uma macro, planeje as etapas e os comandos que você deseja que a macro 
execute. Se cometer um erro durante a gravação da macro, as correções feitas também 
são gravadas. Ao gravar macros, o VBA armazena cada uma em um novo módulo 
anexado a uma pasta de trabalho. 
Por exemplo, se você insere com freqüência seqüências de caracteres de texto extensas 
nas células, você pode gravar uma macro para formatar essas células de maneira que o 
texto retorne automaticamente.Selecione a célula em que deseja inserir o retorno 
automático de texto e inicie a gravação. Clique em Células no menu Formatar, clique na 
guia Alinhamento, marque a caixa de seleção Retorno automático de texto, clique em 
OK e, em seguida, clique em Parar gravação . Como gravar uma macro. Nos veremos 
exemplos detalhados de macros a seguir. 
Como tornar uma macro fácil de ser executada: Você pode executar uma macro 
escolhendo-a de uma lista na caixa de diálogo Macro. Para que uma macro seja 
executada sempre que você clicar em um botão específico ou pressionar determinada 
combinação de teclas, você pode atribuir a macro a um botão da barra de ferramentas, 
um atalho no teclado ou um objeto gráfico em uma planilha. Veremos como fazer essas 
atribuições nas próximas lições. 
Como Exibir e alterar macros 
Depois de gravar uma macro, você poderá exibir o código da macro com o Editor do VBA 
para corrigir erros ou alterar a função da macro. O Editor do VBA é um programa criado 
para facilitar a escrita e a edição de código de macro para principiantes e fornece 
bastante Ajuda on-line. Você não precisa aprender a programar ou a usar a linguagem 
do Visual Basic para fazer alterações simples nas suas macros. Nas próximas lições 
veremos como exibir e editar macros. 
Na Figura a seguir temos um exemplo de código associado com uma Macro. Esse é um 
exemplo de código VBA: 
 
 
 
142 Fundamentos básicos de Macros e VBA 
 
 Janela de macros 
Como Gerenciar suas macros Com o Editor do VBA 
Você pode editar macros, copiar macros de um módulo para outro, copiar macros entre 
pastas de trabalho diferentes, renomear os módulos que armazenam as macros ou 
renomear as macros. Por exemplo, se você quisesse que a macro de retorno automático 
de texto, do exemplo anterior, também deixasse o texto em negrito, você poderia gravar 
outra macro para aplicar negrito a uma célula e copiar as instruções dessa macro para a 
macro de retorno automático de texto. 
Segurança da macro: O Microsoft Excel XP fornece proteção contra vírus que podem ser 
transmitidos através das macros. Se você compartilha macros com outros usuários, você 
pode certificá-las com uma assinatura digital de forma que os outros usuários possam 
verificar que as macros são de origem confiável. Sempre que você abrir uma pasta de 
trabalho que contenha macros, poderá verificar a origem das macros antes de ativá-las. 
Aprenda sobre como evitar vírus de macro. 
Programação no Excel - A linguagem VBA 
As Macros são uma excelente solução quando queremos automatizar uma tarefa que é 
realizada através de uma série de cliques de mouse ou digitações no teclado. Porém 
existem situações mais complexas, que envolvem cálculos ou uma lógica mais apurada, 
onde não é possível encontrar a solução do problema, simplesmente usando os 
comandos ou fórmulas prontas do Excel. 
 
 
 
143 Fundamentos básicos de Macros e VBA 
Nessas situações temos que fazer uso de programação. Um programa (ou módulo como 
é chamado no Excel) é uma seqüência de comandos VBA, onde cada comando executa 
um passo específico, necessário à resolução do problema. 
 
 
Informação 
 
Para um melhor aproveitamento e entendimento do VBA é importante 
que se tenha uma noção básica de Lógica de Programação. 
 
Por exemplo, vamos supor que você precisasse fazer a verificação do CPF que é digitado 
em uma célula. O cálculo do DV do CPF, o qual é de domínio público, envolve uma série 
de operações aritméticas. Para implementar uma função que faz a verificação do DV do 
CPF, você terá que fazer uso de programação. 
Por isso que, conforme descrito anteriormente, veremos os comandos básicos da 
linguagem VBA, para aplicá-los em alguns exemplos práticos nas lições dos próximo 
módulo. 
O que são Macros? 
Conforme descrito anteriormente, uma macro é uma seqüência de comandos (cliques de 
mouse ou toques de teclado) que são gravados em um Módulo VBA e podem ser 
executados, sempre que necessário. A grande vantagem de gravarmos uma seqüência 
de comandos é que poderemos utilizá-la sempre que necessário. Para isso basta 
executar a macro na qual foi gravada a seqüência de comandos. 
As Macros são uma excelente opção para automatizar tarefas repetitivas. Com o uso de 
Macros temos um ganho de produtividade considerável, ao evitar que tenhamos que 
executar manualmente, os diversos passos de uma tarefa, passos estes que podem ser 
automatizados através do uso de uma macro. 
 
 
 
144 Fundamentos básicos de Macros e VBA 
Criando uma macro assistida 
Podemos usar o gravador de Macros: Nesse caso o Excel grava cada uma das ações 
que farão parte da Macro e transforma essas ações nos comandos VBA equivalentes. 
Quando a macro for executada, os comandos VBA é que serão efetivamente executados. 
Cada comando VBA corresponde a uma ação efetiva da macro. 
Criar a Macro usando VBA: A partir do momento em que você domina a linguagem VBA, 
poderá criar a macro digitando os comandos VBA necessários. Isso é feito usando o 
Editor de VBA, conforme veremos a seguir. 
Melhor do que uma série de definições é ver uma Macro em ação. Vamos a um exemplo 
simples, onde criaremos uma Macro. Em seguida vamos executa-la . Na próxima lição 
analisaremos o código VBA criado pelo gravador de macros. 
Criar uma macro usando o Gravador de Macros 
Vamos supor que nossa macro deverá formatar a célula atual com Negrito, cor de fonte 
Vermelha, com fundo cinza. Gravar a macro com o nome de FormataVermCinza. 
Clique na célula A4. 
Agora vamos iniciar a gravação da Macro. 
Selecione o comando Ferramentas -> Macro -> Gravar nova macro. 
Será exibida a janela Gravar Macro. 
No campo Nome da macro digite: FormataVermCinza. 
No campo Tecla de atalho digite L. Observe que o Excel troca para Ctrl+Shift+L. Isso 
acontece porque a combinação Ctrl+L já deve estar associada com algum comando do 
Excel. Com isso estamos associando a combinação Ctrl+Shift+L com a macro 
FormataVermCinza, ou seja, cada vez que quisermos executar essa macro basta 
pressionar Ctrl+Shift+L. 
O campo descrição é simplesmente uma descrição da funcionalidade da macro. Digite o 
texto indicado na Figura 5.2: 
 
 
 
145 Fundamentos básicos de Macros e VBA 
 
( 
 
( 
 
( 
 
( 
 
( 
 
Figura 5.2 – Definição do nome e da tecla de atalho da Macro. 
Clique em OK. A gravação da Macro será iniciada. Todos os comandos que você 
executar, durante a gravação da Macro, farão parte da Macro. 
Uma nova barra ( ) é exibida na planilha do Excel. Essa barra é utilizada para 
parar a gravação da Macro. Agora devemos escolher os comandos que farão parte da 
macro. Após ter executado os comandos que farão parte da macro, basta clicar no botão 
) para encerrar a gravação da Macro. 
Clique no botão ( )para aplicar Negrito. 
Na lista de Cores da fonte ) selecione Vermelho. 
Na lista de Cores de fundo ) selecione Cinza. 
Clique no botão ( ) para encerrar a gravação da Macro. 
Agora a macro FormataVermCinza foi criada e podemos utiliza-la sempre que necessário. 
Executando a macro 
Clique na Célula B7. 
Pressione Ctrl+Shift+L. 
 
 
 
146 Fundamentos básicos de Macros e VBA 
A macro FormataVermCinza é executada e as formatações definidas pela macro (Negrito, 
fonte Vermelha e fundo Cinza) são automaticamente aplicadas na Célula B7. Veja que 
com um simples comando de teclado, executo uma série de comandos (nesse exemplo: 
três comandos de formatação). Esse exemplo nos dá uma pequena idéia do poder e 
facilidade do uso das macros. 
Também é possível executar a macro usando o comando Ferramentas -> Macro ->Macros. 
Clique na célula B5. 
Selecione o comando Ferramentas -> Macro -> Macros. 
Será exibida a janela Macro, onde são listadas todas as macros existentes na pasta de 
trabalho atual (no arquivo carregado no Excel), conforme indicado na Figura 5.3: 
 
Figura 5.3 – A janela Macro. 
Clique na Macro FormataVermCinza para seleciona-la. 
Clique no botão Executar. 
A Macro será executada e as respectivas formatações serão aplicadas à célula B5. 
A sua planilha deve estar conforme indicado na Figura 5.4: 
 
 
 
147 Fundamentos básicos de Macros e VBA 
 
( 
 
Figura 5.4 – Formatações aplicadas com a macro FormataVermCinza. 
 
Conhecendo do que é feita uma Macro 
No tópico anterior podemos ver uma macro em ação. Criamos uma macro chamada 
FormataVermCinza. Essa macro é composta por três comandos de formatação. Cada vez 
que a macro é executada, os três comandos de formatação são novamente executados e 
aplicados à célula onde esta o cursor. Até aqui tudo OK. Nenhuma novidade. A pergunta 
que pode surgir é: 
Como é que o Excel faz isso? 
Ou de outra forma: 
Do que é feita uma macro? 
Conforme veremos a seguir, uma macro é gravada no Excel como uma seqüência de 
comandos VBA. Por exemplo, ao clicarmos no botão ( ), para a aplicação de negrito, 
o Excel gera um comando VBA que faz a formatação em negrito. Nessa lição 
aprenderemos a acessar o código VBA gerado pelo Excel (embora ainda não sejamos 
capazes de entenderesse código). 
Acessando os comandos VBA 
Você deve estar com a planilha C:\ExcelAvancado\Módulo 5 œ Exercício 01.xls aberta, 
se não estiver, abra-a. 
Selecione o comando Ferramentas -> Macro -> Macros. 
Será exibida a janela Macro. 
 
 
 
148 Fundamentos básicos de Macros e VBA 
Clique na macro FormataVermCinza para seleciona-la. 
Clique no botão Editar. 
O Editor do VBA será carregado e serão exibidas as seguintes linhas de código: 
Sub FormataVermCinza() 
' 
' FormataVermCinza Macro 
' Macro que faz a formatação em fonte Vermelha, Negrito e 
' fundo Cinza. 
' 
' Atalho do teclado: Ctrl+Shift+L 
 
' 
Selection.Font.Bold = True 
Selection.Font.ColorIndex = 3 
With Selection.Interior 
.ColorIndex = 15 
.Pattern = xlSolid 
End With 
End Sub 
Esses são os comandos VBA (que por enquanto não entendemos o que significam) que 
formam a macro FormataVermCinza. Apenas para adiantar um pouco o assunto, a 
seguir descrevo o que faz cada um dos principais comandos dessa Macro: 
Selection.Font.Bold = True 
Esse comando aplica a formatação em Negrito para a célula onde está o cursor (ou no 
conjunto de células selecionadas), quando a macro é executada. 
Selection.Font.ColorIndex = 3 
Esse comando aplica cor de fonte Vermelha para a célula onde está o cursor (ou no 
conjunto de células selecionadas), quando a macro é executada. 
With Selection.Interior 
 
.ColorIndex = 15 
 
.Pattern = xlSolid 
 
End With 
 
 
 
149 Fundamentos básicos de Macros e VBA 
Esses comandos aplicam a cor de fundo cinza, na célula onde está o cursor (ou no 
conjunto de células selecionadas), quando a macro é executada. 
Esses são comandos da linguagem VBA. Com o uso do VBA temos acesso a todos os 
comandos e funções do Microsoft Excel. Tudo o que você faz usando o teclado e o 
mouse, também é possível de ser feito com o uso do VBA, porém de uma maneira 
automatizada. O uso de macros é especialmente indicado naquelas situações em que 
temos um conjunto de comandos que precisam ser executados, repetidamente, em 
diferentes situações. Nesses casos é muito mais prático criar uma macro composta pelo 
conjunto de comandos e, cada vez que os comandos precisarem ser executados, 
executar a macro. 
Na Figura 5.5 temos uma visão do Editor do Visual Basic. Veremos mais detalhes sobre 
esse editor nas próximas lições, quando começarmos a trabalhar com o VBA. 
 
Figura 5.5 – O Editor de VBA 
Selecione o comando Arquivo -> Fechar e Voltar para o Microsoft Excel. 
Você estará de volta à planilha. 
 
 
 
150 Fundamentos básicos de Macros e VBA 
Operações com Macros 
Agora, aprenderemos a renomear, excluir e fazer outras alterações em macros. Também 
aprenderemos a alterar outras opções associadas com a Macro, tal como o comando de 
teclado para executar a macro. 
Existem algumas operações que podem ser feitas com uma macro, após a sua criação. A 
mais óbvia (e o motivo pelo qual uma macro é criada) é para executar a macro. Além da 
execução é possível executar outras operações com uma macro, conforme descrito a 
seguir: 
Renomeando uma macro 
Selecione o comando Ferramentas -> Macro -> Macros. 
Será exibida a janela Macro. Clique na macro a ser renomeada para seleciona-la. 
Clique no botão Editar. 
Será aberto o editor do VBA. O nome da macro vem logo após o comando Sub da 
primeira linha, conforme destacado na Figura 5.6: 
 
Figura 5.6 – Renomeando uma Macro. 
 
 
 
 
151 Fundamentos básicos de Macros e VBA 
 
( 
Para renomear a macro basta alterar o nome após o comando Sub e depois clicar no 
botão ) para salvar as alterações. 
Em seguida é só fechar o Editor de VBA. 
Excluindo uma macro 
Abra o arquivo onde está a macro a ser excluída. 
Selecione o comando Ferramentas -> Macro -> Macros. 
Será exibida a janela Macro. 
Clique na macro a ser excluída para selecioná-la. 
Clique no botão Excluir. 
O Excel emite um aviso solicitando que você confirme a exclusão, conforme indicado na 
Figura 5.7: 
 
 
Figura 5.7 – Confirmando a exclusão da macro. 
Clique em Sim para confirmar a exclusão ou em Não para cancelar a exclusão da macro. 
Alterando a tecla de atalho e o comentário associado com uma macro 
1. Abra o arquivo onde está a macro a ser alterada. 
2. Selecione o comando Ferramentas -> Macro -> Macros. 
 
 
 
152 Fundamentos básicos de Macros e VBA 
3. Será exibida a janela Macro. 
4. Clique na macro a ser alterada para seleciona-la. 
5. Clique no botão Opções... 
6. Será exibida a janela Opções de Macro, onde você pode alterar a tecla de atalho e o 
comentário associado com a macro, conforme indicado na Figura 5.8: 
 
Figura 5.8 – Confirmando a exclusão da macro. 
Faça as alterações desejadas e clique em OK. 
Associando botões a macros 
Vamos criar mais uma macro de exemplo. Além da criação da macro aprenderemos a 
criar um novo botão, na Barra de Ferramentas e a associar esse botão com a macro. 
Dessa forma toda vez que precisarmos executar a macro, bastará clicar no botão 
associado com a macro. 
Exemplo 2: Criar uma macro usando o Gravador de Macros. A macro deverá formatar As 
células selecionadas com formato Contábil, com duas casas decimais, cor de fonte 
Vermelha e Itálico. Gravar a macro com o nome de FormataContábil . Criar um botão de 
comando na Barra de Ferramentas padrão e associar esse botão com a macro 
FormataContábil. 
Abra o Excel. 
Abra a Planilha C:\ExcelAvancado\Módulo 5 œ Exercício 02.xls. 
 
 
 
153 Fundamentos básicos de Macros e VBA 
 
( 
Clique na célula F2. Agora vamos iniciar a gravação da Macro. 
Selecione o comando Ferramentas -> Macro -> Gravar nova macro . 
Será exibida a janela Gravar Macro. 
No campo Nome da macro digite: FormataContábil. 
Na lista Armazenar macro em, selecione a opção Esta pasta de trabalho . 
O campo descrição é simplesmente uma descrição da funcionalidade da macro. 
Digite o texto indicado na Figura 5.9: 
 
Figura 5.9 – Definição do nome e da descrição da macro FormataContábil. 
10. Clique em OK. A gravação da Macro será iniciada. Todos os comandos que você 
executar, durante a gravação da Macro, farão parte da Macro.Uma nova barra ( ) é exibida na planilha do Excel. Essa barra é utilizada para 
parar a gravação da Macro. Agora devemos escolher os comandos que farão parte da 
macro. Após ter executado os comandos que farão parte da macro, basta clicar no botão 
( ) para encerrar a gravação da Macro. 
Clique no botão ( ) para aplicar Itálico. 
Na lista de Cores da fonte ( ) selecione Vermelho. 
 
 
 
154 Fundamentos básicos de Macros e VBA 
Selecione o comando Formatar -> Células. Clique na opção Contábil e selecione duas 
casas decimais, conforme indicado na Figura 5.10: 
 
 
 
155 Fundamentos básicos de Macros e VBA 
 
( 
 
 
Figura 5.10 – Formatação Contábil com duas casas decimais. 
Clique em OK. 
Clique no botão ( ) para encerrar a gravação da Macro. 
Agora a macro FormataContábil foi criada e podemos utilizá-la sempre que necessário. 
Agora vamos aprender como associar um botão com a macro FormataContábil. 
Assiciando um botão a uma macro 
Clique com o botão direito do mouse em uma das barras de ferramentas do Excel. Por 
exemplo, clique com o botão direito do mouse na área cinza, ao lado do botão ( ). 
No menu que é exibido clique na opção Personalizar. 
Será exibida a janela Personalizar. 
Clique na guia Comandos. 
 
 
 
156 Fundamentos básicos de Macros e VBA 
Na lista de Categorias que é exibida dê um clique na opção Macros conforme indicado na 
Figura 5.11: 
 
 
 
157 Fundamentos básicos de Macros e VBA 
 
( 
 
 
Figura 5.11 – A opção Macros da guia Comandos. 
Clique no botão ( ) e arraste-o para a barra de ferramentas padrão, ao lado esquerdo 
do botão ( ), conforme indicado na Figura 5.12: 
 
Figura 5.12 – Arrastando o botão que será associado com a Macro. 
A janela Personalizar será fechada e o botão ) será adicionado à barra de ramentas 
padrão. 
Dê um clique no botão ). 
Será exibida a janela Atribuir macros. Nessa janela você pode selecionar a macro que 
será associada com o botão, isto é, a macro que será executada quando você clicar no 
botão. 
Clique na macro FormataContábil para seleciona-la, conforme indicado na Figura 5.13. 
 
 
 
158 Fundamentos básicos de Macros e VBA 
 
( 
Clique em OK. 
Pronto, agora o botão ( ) está associado com a macro FormataContábil. 
 
 
Figura 5.13 – Associando a macro FormataContábil com o botão. 
Vamos testar se o botão está funcionando. 
Clique na célula F10. 
Clique no botão ). 
Observe que a macro é executada e as respectivas formatações são aplicadas à célula 
F10. Isso comprova que o botão ) está associado à macro FormataContábil. 
Salve e Feche a planilha. 
 
 
 
159 Introdução a linguagem VBA 
Introdução a linguagem VBA 
Nos tópicos iniciais desse módulo aprendemos a criar macros simples, as quais 
reproduzem uma série de comandos de mouse e teclado. Para que possamos criar 
macros mais sofisticadas e resolver problemas mais complexos com o Excel, precisamos 
utilizar programação. Conforme descrito anteriormente, a linguagem de programação do 
Excel (e de todos os aplicativos do Office) é o VBA: Visual Basic for Application. 
 
Uma linguagem de programação, basicamente, é um conjunto de comandos, rotinas e 
funções que executam tarefas específicas. Considere o exemplo genérico a seguir, onde 
são utilizados comandos para acessar uma tabela do Access a partir de uma planilha do 
Excel: 
 
„ Comentários iniciais do Programa. 
„ Acessa dados da tabela pedidos do banco de dados 
„ C:\Meus documentos\vendas.mdb 
Acessar o banco de dados 
Acessar a tabela Pedidos 
Aplicar um filtro para País=Brasil 
Exibir os dados obtidos na planilha atual 
formatar a primeira linha como negrito 
formatar a primeira linha como fonte azul 
Encerrar a macro 
 
Por que aprender VBA? 
A utilização de Macros em conjunto com os recursos do VBA nos oferece um grande 
número de opções na busca por soluções para os problemas mais complexos. Porém 
existem situações em que, por mais que saibamos utilizar todos os recursos, comandos e 
funções do Excel, essa utilização não é capaz de solucionar o problema proposto. Nestas 
situes temos que utilizar programação. 
A linguagem de programação utilizada pelo Microsoft Excel é o VBA - Visual Basic for 
Applications. Conforme veremos a partir de agora esta é uma linguagem, ao mesmo 
tempo, extremamente simples e poderosa. Com o VBA temos acesso completo a todos 
os elementos de todos os objetos de uma planilha do Excel. Também temos acesso a 
elementos externos, tais como bancos de dados do Access. Com código VBA podemos 
criar uma rotina para validação do dígito verificador de uma célula de CPF, CNPJ ou de 
 
 
 
160 Introdução a linguagem VBA 
um campo NúmeroDoProcesso; podemos criar código que percorre todas as linhas de 
uma planilha, alterando os valores de uma ou mais colunas, com base em uma ou mais 
condições, podemos automatizar rotinas para importação e exportação de dados e 
assim por diante. 
Programação com o Microsoft Excel 
O VBA nos oferece possibilidades de controle e personalização para criar aplicativos que 
vão além das ações de macro. 
O VBA é uma linguagem de programação interna do Microsoft Excel (na prática é a 
linguagem de programação para todos os aplicativos do Office: Access, Word, Excel e 
PowerPoint). Usamos o VBA pelo mesmo motivo que utilizamos macros - para 
automatizar tarefas e rotinas repetitivas, envolvendo os diversos elementos do banco de 
dados (tabelas, consultas, formulários, relatórios, folhas de dados, macros e módulos). 
No entanto, o VBA oferece maior poder e controle mais detalhado do que as ações de 
macro. 
Na prática as ações de macro duplicam as operações que podemos realizar 
manualmente,usando menus e teclas de atalho. O VBA vai além da simples automação 
de seqüências de ações. Ele oferece um conjunto de ferramentas que lhe permite criar 
aplicações personalizadas com base nos elementos do Excel e nos objetos de planilha 
do Excel. Por exemplo, podemos criar uma rotina em VBA em uma planilha do Excel. 
Esta rotina pode acessar dados em segunda planilha que está na rede, por exemplo. A 
mesma rotina além de acessar os dados pode fazer cálculos, consolidações, gerar os 
resultados no formato de uma planilha do Excel e salvar a planilha na rede. Este é 
apenas um pequeno exemplo do que pode ser feito como o VBA. 
Vantagens em utilizarmos o VBA 
Já utilizamos macros e aprendemos a automatizar algumas tarefas como a aplicação de 
formatos personalizados. O VBA apresenta, em relação as macros, as seguintes 
vantagens: 
Acessando dados de uma ou mais planilhas: Com ações de macros estamos limitados a 
operar com os registro ou com o conjunto de registros atualmente sendo exibido na pasta 
de trabalho atual O VBA permite trabalhar com qualquer conjunto de dados, quer seja da 
pasta de trabalho atual, quer seja de outra pasta de trabalho na rede ou com outros 
formatos de dados, como por exemplo de arquivos .txt ou bancos de dados do Microsoft 
Access. 
 
 
 
161 Introdução a linguagem VBA 
Manipulação de objetos : O VBA oferece métodos de criação e modificação dos objetos 
de uma planilha no Excel. Chamamos de objeto qualquer elemento do Microsoft Excel, 
por exemplo: uma planilha, uma faixa de células, um gráfico, etc. 
Criação de funções definidas pelo usuário : Este é um dos maiores benefícios do 
VBA. Podemos criar funções que executam cálculos repetitivos. Por exemplo, vários 
planilhas podem conter um campo CPF ou CNPJ. Poderíamos criar, em cada planilha, o 
código necessário para a validação do DV do CPF ou CNPJ. Porém este procedimento 
não é o mais indicado,pois além da duplicação do código necessário a validação, 
teríamos dificuldades para fazer atualizações neste código, pois cada alteração 
necessária terá que ser feita em vários locais. O ideal é criarmos uma função para 
validação do DV (uma função deve ser criada dentro de um módulo. Em cada planilha, 
onde for necessária, chamamos a função, passando o valor do CPF como parâmetro. A 
função calcula o DV e retorna o resultado para a planilha. Desta maneira precisamos criar 
uma única função. Quando forem necessárias alterações, basta alterar a função (em um 
único local, ou seja, no módulo onde a função foi criada) e todos os formulários passarão 
a utilizar a versão atualizada da função. 
Definição de condições e controle de fluxo: O VBA oferece uma variedade de comandos 
e estruturas para a realização de testes condicionais e para a repetição de um conjunto 
de comandos. Aprenderemos a utilizar todas as estruturas de controle de fluxo e testes 
condicionais, mais adiante. 
Realização de cálculos complexos e solução de problemas que envolvem uma lógica 
complexa: Com macros é impossível a realização de cálculos mais complexos, 
simplesmente através da automação de comandos de teclado e mouse. Também não é 
possível a resolução de problemas que envolvem uma lógica complexa, como por 
exemplo cálculo do imposto de renda, recolhimentos de tributos, etc. 
O Ambiente de Programação - Editor VBA 
O Microsoft Excel fornece um ambiente de programação bastante poderoso, com uma 
série de recursos que facilitam a criação de código VBA. Neste tópico vamos aprender a 
utilizar os aspectos básicos do Ambiente de Programação do VBA. 
Se não tivéssemos disponível um Ambiente de Programação, teríamos que lembrar da 
sintaxe de todos os comandos, dos métodos e propriedades dos objetos. Convenhamos 
que isso é praticamente impossível, pois com o VBA temos acesso a milhares de objetos 
(é isso mesmo: milhares de objetos, comandos e funções. Por enquanto estou utilizando 
bastante o termo objeto, sem tê-lo ainda explicado. Mais adiante detalharei o conceito de 
 
 
 
162 Introdução a linguagem VBA 
classes, módulos e objetos). Cada objeto pode ter dezenas de propriedades, métodos e 
coleções. O ambiente de Desenvolvimento fornece uma série de facilidades para a 
criação de código VBA. Por exemplo, ao digitar o nome de um objeto e um ponto será 
aberta, automaticamente, uma lista com todos os métodos e propriedades deste objeto. 
Ao invés de lembrar do nome dos métodos/propriedades, basta selecioná-los em uma 
lista. Se selecionarmos um método, ao digitarmos o parênteses de abertura, será exibida 
uma lista com os argumentos esperados pelo método, bem como o tipo (texto, número, 
data, etc) de cada argumento. Se digitarmos um comando incorretamente, o Ambiente de 
Desenvolvimento emite uma mensagem e coloca em destaque o comando que foi 
digitado incorretamente. Estas são apenas algumas das facilidades fornecidas pelo 
Ambiente de Desenvolvimento do VBA. 
Para conhecermos melhor o referido ambiente, vamos a um exemplo prático. Vamos abrir 
uma planilha, que contém uma macro chamada AplicaNegrito e editar essa macro. 
Lembre que para editar uma macro, temos que acessar o código VBA associado à 
macro. Isso é feito no Editor do VBA. 
Acessando o Editor VBA 
Vamos acessar o editor do VBA para alterar uma macro. 
Abra o Excel. 
Abra a Planilha com a macro. 
Como existem macros já criadas, o Excel pede uma confirmação, perguntando se você 
deseja ativar as macros existentes, conforme indicado na Figura 5.14. Essa confirmação 
é solicitada devido ao perigo representado pelos vírus de Macro, que podem afetar os 
aplicativos do Microsoft Office. 
Clique no botão Ativar Macros. 
A planilha será aberta. 
Nessa planilha existe uma macro chamada AtivaNegrito. Vamos editar essa macro. O 
nosso objetivo é conhecer alguns detalhes sobre o Editor do VBA. 
 
 
 
163 Introdução a linguagem VBA 
 
Figura 5.14 – Confirmação para ativação de macros, na abertura da planilha. 
Selecione o comando Ferramentas -> Macro -> Macros... 
Será exibida a janela Macro. 
Clique na macro para selecioná-la. 
Clique no botão Editar. 
Será aberto o editor do VBA e o código associado à macro. 
Na Figura 5.15 temos a descrição de algumas partes da janela do editor VBA. 
 
 
 
164 Introdução a linguagem VBA 
 
Figura 5.15– O Editor VBA. 
No lado esquerdo da tela temos duas janelas: 
Project œ VBA Project: Nessa janela são exibidos os vários elementos que fazem parte 
da Pasta de trabalho atual. Aqui são exibidas as planilhas e módulos da pasta de 
trabalho (arquivo .xls) carregado no Excel. Ao criarmos uma macro podemos criá-la em 
uma determinada planilha. Os módulos são utilizados para criar funções e procedimentos 
que podem ser chamados em todas as planilhas da pasta de trabalho atual. 
Aprenderemos mais sobre funções e procedimentos nas próximas lições. 
Janela na parte de baixo: A janela abaixo da janela Project, exibe as propriedades do 
elemento selecionado na janela Project. Por exemplo, ao selecionar Plan1, na janela 
Project, na janela de baixo serão exibidas as propriedades de Plan1, conforme indicado 
na Figura 5.16: 
 
 
 
165 Introdução a linguagem VBA 
 
Figura 5.16– Propriedades da Planilha. 
VBA – Declaração de Variáveis 
Agora vamos iniciar o estudo de uma série de comandos e conceitos básicos da 
linguagem VBA. Esses comandos serão utilizados nas lições do Módulo 6, onde 
apresentaremos alguns exemplos práticos do uso do VBA para solução de problemas 
com o Excel. 
Iniciaremos o nosso estudo de VBA pela definição do conceito de variáveis a aprendendo 
a declarar variáveis no VBA. 
Declaração de variáveis e —tipos― de dados 
Uma variável é um espaço na memória do computador, reservado para armazenar um ou 
mais valores. Fazemos referência a este espaço utilizando nomes. Como o valor 
armazenado pode variar, a medida que o código VBA é executado, estas estruturas são 
chamadas de variáveis. 
 
 
 
166 Introdução a linguagem VBA 
No VBA, não é obrigatório a declaração de variáveis. Porém é recomendável que 
declaremos todas as variáveis, de tal forma que o código fique mais claro e de fácil 
compreensão. Para declararmos uma variável, utilizamos o comando Dim, conforme 
exemplificado abaixo: 
Dim x Dim nome Dim teste 
Neste caso estamos apenas declarando o nome da variável, sem declarar de que tipo 
(texto,inteiro, data, etc) é a variável. Uma variável declarada sem tipo é considerada do 
tipo Variant, o que na prática significa que a variável pode conter qualquer tipo de valor. 
Pode parecer uma prática interessante a não declaração do tipo da variável, porém isso é 
altamente desaconselhável. Se não declararmos o tipo, conforme descrito anteriormente, 
a variável poderá conter qualquer valor. Neste caso o que impede de um campo 
numérico conter valores de texto ou vice-versa. 
A sintaxe para o comando Dim 
Dim nome_da_variável As tipo_da_variável 
Também podemos declarar mais do que uma variável, com um único comando Dim. Para 
isto, basta separar as variáveis, com vírgula, conforme exemplificado abaixo: 
Dim x,y,z As String 
 
Dim nome as Double 
 
Dim teste1, teste2 As Integer 
Observe que definimos o —tipo― de cada variável. O Tipo define quais dados podem ser 
armazenados em uma variável. Por exemplo, variáveis que armazenam valores 
numéricos, não devem aceitar caracteres de texto. Variáveis que armazenam datas, não 
devem aceitar datas inválidas, como por exemplo 30/02/2001. Toda variável no VBA, é do 
tipo Variant, isto significa que a variável pode ser de qualquer tipo. O que define o tipo davariável é o valor que está armazenado no momento. Existem funções que conversão de 
tipo, conforme veremos mais adiante. 
Também podemos utilizar variáveis que não foram, explicitamente, declaradas com o 
comando Dim. Com isso, a variável é criada na memória, no momento da sua utilização. 
Para fazer com que toda variável tenha que ser, explicitamente, declarada, antes de ser 
utilizada, devemos utilizar o seguinte comando na seção de declaração do módulo: 
 
 
 
167 Introdução a linguagem VBA 
Option Explicit 
Ao colocarmos este comando na seção de declaração do módulo, estamos definindo que 
toda variável deve ser declarada, antes de ser utilizada em uma expressão. Se 
tentarmos utilizar uma variável não declarada, será gerado um erro de compilação e a 
execução dos comandos é suspensa. Na Listagem 1, temos um exemplo simples de 
utilização de variáveis não declaradas explicitamente. 
Utilização de variáveis não declaradas. 
Dim a As Integer Dim b As Integer a=5 
 
b=2 
 
c=a+b 
 
Msgbox "A variável C vale: " & c 
Ao tentarmos executar este código, tendo sido definida a opção "Option Explicit", 
obteremos a mensagem de erro indicada na próxima figura. Este erro acontece porque 
tentamos utilizar uma variável c, variável esta que não foi declarada. 
 
 Erro 
O tipo Variant é formado de pequenas unidades, chamadas subtipos. Cada subtipo, 
identifica de que maneira os dados são armazenados em uma variável do tipo Variant 
Por exemplo, variáveis do subtipo Integer são armazenadas de uma maneira diferente 
de variáveis do subtipo Long. Na Tabela a seguir temos uma descrição dos principais 
subtipos. 
Subtipos do tipo Variant disponíveis no VBA 
 
 
 
168 Introdução a linguagem VBA 
 
Empty 
 
O Valor é zero para variáveis numéricas ou uma String de tamanho 
zero (— —), para variáveis de texto. 
 
Null 
 
A variável não contém dados válidos. 
 
Boolean 
 
Contém variáveis que somente podem assumir dois 
valores:Verdadeiro ou Falso (True ou False). 
 
Byte 
 
 
Valor inteiro, na faixa de 0 até 255. 
 
Integer 
Valor inteiro, na faixa de -32768 até 32767. 
 
 
 
169 Introdução a linguagem VBA 
 
 
Currency 
 
Valores na faixa de 923.337.203.685.447,5808 até 
922.337.203.685.447,5807 
 
Date(Time) 
 
Long Valor inteiro, na faixa de 2.147.483.648 até 2.147.483.647. É 
um número que representa a data entre 01 de Janeiro do ano 100, 
 
String 
até 31 de Dezembro de 9999 (Olha o bug do ano 10000 chegando).
 Texto de tamanho variável, pode conter, aproximadamente, 2 
bilhões de caracteres. 
 
Object 
Pode conter um objeto qualquer, como um Controle Activex, ou um 
Objeto COM+ 
 
Error 
 
Pode conter um número de erro. 
 
 
 
 
170 Introdução a linguagem VBA 
 
Antes de fazermos alguns exemplos práticos, vamos aprender um pouco mais sobre o 
uso de variáveis no VBA. Vamos falar sobre operadores aritméticos e de comparação. 
Mas isso já é assunto para a próxima lição . 
VBA - Cálculos, Operadores Aritméticos e Exemplos 
Fazendo cálculos e comparações com o VBA œ Operadores Aritméticos. 
Para realizarmos cálculos e comparações entre variáveis, podemos utilizar operadores. 
Neste item trataremos sobre operadores aritméticos e operadores de comparação. 
Fazendo cálculos com os Operadores aritméticos: 
Podemos realizar cálculos no VBA, utilizamos operadores aritméticos. Na Tabela a 
seguir, temos uma descrição dos operadores que podemos utilizar: 
Operadores Aritméticos do VBA: 
 
 
Operador 
 
 
 
Significado 
 
 
+ 
Adição (3+3). 
 
 
 
171 Introdução a linguagem VBA 
 
 
- 
 
Subtração (3–1) ou Negação (–1). 
 
* 
 
Multiplicação (3*3). 
 
/ 
 
Divisão (3/3). 
 
% 
 
Porcentagem (20%). 
 
 
 
172 Introdução a linguagem VBA 
 
^ 
 
Exponenciação (3^2). 
Tabela 2.1 – Operadores aritméticos. 
Listagem œ Exemplo de uso de operadores aritméticos: 
„ Exemplo de utilização de variáveis e operadores aritméticos 
„ Curso: Excel Avançado em 120 Lições. 
„ Autor: Júlio Battisti 
„ Site: www.juliobattisti.com.br 
„ Declaração das variáveis. 
 
Dim x, y, z As Integer x = 10 
y = 25 
z = x*y 
„ Nesse exemplo a variável z conterá o valor 250 
Vamos fazer um pequeno teste com os comandos para declaração de variáveis. 
Estrutura If...Then e os Operadores de Comparação 
Comparando valores com os Operadores de comparação. 
Em determinadas situações, existe a necessidade de efetuarmos comparações entre os 
valores de duas ou mais variáveis ou expressões. Com base no resultado da 
comparação œ Verdadeiro ou Falso -, a execução do código VBA pode seguir caminhos 
diferentes. Normalmente utilizamos comparações, nas estruturas de controle do código, 
também conhecidas como laços de controle. Para que possamos estudar os operadores 
de comparação, vamos apresentar uma das estruturas de controle mais simples que 
existem no VBA, a estrutura If Then Else. Abaixo temos um exemplo do funcionamento 
da estrutura If Then Else: 
If Then Else 
 
 
 
 
173 Introdução a linguagem VBA 
If x>y Then 
 
” Comandos a serem executados quando x for maior do que y 
 
Comando 1 
 
Comando 2 
 
Comando n 
 
Else 
 
” Comandos a serem executados quando x for menor ou igual a y 
 
Comando 1 
 
Comando 2 
 
Comando n 
 
End If 
 
Conforme podemos ver, a estrutura If Then Else, é bastante simples. Fazemos um teste 
no início da estrutura. Se o valor do teste for verdadeiro, executamos os comandos na 
seqüência, caso contrário, executamos os comandos após o Else. Note que utilizamos o 
operador de comparação —maior do que: > ―, no caso x>y , estamos testando se x é 
maior do que y. Logo em seguida apresentaremos detalhes sobre os operadores de 
comparação disponíveis no VBA. Podemos utilizar laços If Then Else mais complexos, 
como os do exemplo: 
 
If x>y Then 
 
” Comandos a serem executados quando x for maior do que y 
 
Comando 1 
 
Comando 2 
 
... 
 
Comando n 
 
ElseIf x=y Then 
 
” Comandos a serem executados quando x for igual a y 
 
Comando 1 
 
Comando 2 
 
... 
 
 
 
 
174 Introdução a linguagem VBA 
Comando n 
 
Else 
 
” Comandos a serem executados quando x for menor do que y 
 
Comando 1 
 
Comando 2 
 
... 
 
Comando n 
 
End If 
 
Podemos utilizar tantos ElseIf, quantos forem necessários. Cada ElseIf é utilizado para 
fazer um teste adicional. 
Na Tabela a seguir temos uma descrição dos operadores de comparação. 
Operadores de comparação do VBA 
 
 
Operador 
 
 
 
Descrição 
 
 
> 
 
Maior 
 
 
 
175 Introdução a linguagem VBA 
 
>= 
 
Igual 
 
<> 
 
Diferente 
 
< 
 
Menor 
 
< = 
 
Menor ou igual 
 
> = 
Maior ou igual 
 
 
 
176 Introdução a linguagem VBA 
 
Tabela 2.1 – Comparados condicionais. 
O uso de Operadores de comparação, amplia o leque de possibilidades para nossos 
programas em VBA. Devemos ter alguns cuidados quando comparamos variáveis que 
possuem valores de tipos diferentes, como por exemplo, número e texto. A Tabela a 
seguir descreve o que acontece, quando comparamos variáveis com valores de tipos 
diferentes. 
Escopo de Variáveis e Variáveis do tipo Array 
O Escopo das variáveis, no VBA. 
O escopo de uma variável, define em que partes do código a variável pode ser utilizada. 
EmVBA, podemos ter os seguintes escopos para as variáveis: 
Escopo de Módulo: Uma variável declarada dentro do Módulo (um módulo pode conter 
um ou mais procedimentos ou funções, cada procedimento função começa com um Sub 
ou Function e termina com um End Sub ou End Function, respectivamente. Veremos 
mais sobre funções e procedimentos, nas próximas lições), mas fora de qualquer 
Procedimento. Com isso a variável pode ser utilizada dentro de todo o bloco de código 
do Módulo, inclusive dentro dos Procedimentos, caso exista algum. Um módulo de uma 
planilha pode conter uma ou mais macros, sendo que cada macro é um procedimento, 
isto é, inicia com um Sub e termina com um End Sub. Tudo o que estiver entre Sub e 
End Sub, faz parte da respectiva macro. Uma variável declarada ao nível de Módulo, 
existe enquanto o Módulo estiver sendo executado.São as variáveis declaradas na seção 
de Declarações do Módulo. Uma variável declarada ao nível de Módulo, poderá ser 
utilizada em todos os procedimentos/funções do módulo, isto é, em todas as macros que 
fazem parte do respectivo módulo. 
Escopo de procedimento / função / macro 
 A variável somente pode ser utilizada, dentro do procedimento onde esta é declarada. 
Aqui o conceito de procedimento praticamente se confunde com o de macro, ou seja, 
cada macro é criada como um procedimento separado, dentro do módulo de código da 
planilha. Se tentarmos utilizar a variável fora do procedimento onde a ela foi declarada, 
não teremos acesso ao valor da variável. Uma variável declarada ao nível de 
procedimento, existe enquanto o procedimento estiver sendo executado. 
 
 
 
177 Introdução a linguagem VBA 
 
 
Nota 
 
Um procedimento é um bloco de código que pode ser chamado em 
qualquer ponto do Módulo. Ao chamarmos um procedimento, a execução 
é deslocada para dentro do procedimento. Após concluído o 
procedimento, a execução segue com a linha seguinte à que chamou o 
procedimento. Veremos maiores detalhes sobre procedimentos e funções 
nas próximas lições 
 
Vamos considerar alguns trechos de código para entendermos melhor este conceito de 
escopo. 
Considere o seguinte trecho de código, dentro de um módulo VBA de uma planilha do 
Excel: 
”Seção geral do módulo. 
 
” Variáveis declaradas nessa seção tem o escopo de módulo, 
 
” isto é, podem ser utilizadas em qualquer procedimento dentro do módulo. 
Dim x, y,aux1 As Integer 
Call proc1 
 
' Agora vamos tentar utilizar os valores de a e b 
 
' Fora do procedimento proc1. 
 
' Observe que a variável aux1 não é calculada 
 
' corretamente, uma vez que os valores de a e b 
 
' não estão disponíveis, fora do procedimento proc1 
 
Aux1 = a + b 
 
MsgBox "aux1= " & Aux1 
 
'Agora vamos criar um procedimento 
 
 
 
178 Introdução a linguagem VBA 
 
'E declarar duas variáveis dentro deste procedimento. 
 
'Estas variáveis somente serão visíveis, 
 
'Dentro deste procedimento. Sub proc1() 
 
Dim a, b x=10 y=20 a=5 b=7 
MsgBox "x= " & x & " y= " & y & " a= " & a & " b= " & b 
 
End Sub 
O comando Call faz o chamado ao procedimento proc1. Este procedimento deve ser 
definido no mesmo módulo, caso contrário um erro será gerado. Ao encontrar esse 
comando o Excel 
desloca a execução para o procedimento proc1, executa os comandos deste 
procedimento e após encerrar continua a execução a partir do comando seguinte ao 
comando Call. 
Ao executar esse código será exibida a janela indicada na Figura a seguir: 
 
 resultado na caixa de diálogo. 
O comando Call Proc1 é executado. O excel executa os comandos dentro de Proc1. As 
variáveis x e y foram declarados com escopo de módulo, por isso podem ser utilizadas 
corretamente dentro do procedimento Proc1, embora não tenham sido declaradas dentro 
desse procedimento. As variáveis x e y tem escopo de módulo, ou seja, podem ser 
utilizadas em qualquer procedimento, dentro do módulo. Os valores definidos para x e y, 
dentro do procedimento Proc1, permanecerão disponíveis, mesmo se usarmos x e y em 
outros procedimentos desse módulo. 
Como a e b estão declaradas dentro de Proc1, o seu escopo está ativo, isso é, o Excel 
tem acesso aos valores de a e b. Porém observe que x e y apresentam valores nulos. 
Isso ocorre porque a e b foram declarados. Por isso os valores de a e b também são 
exibidos corretamente. Agora vamos fazer uma tentativa de usar as variáveis a e b fora 
do procedimento Proc1. Como elas foram declaradas dentro de Proc1, somente são —
visíveis―, isto é, mantém o seu valor quando Proc1 estiver sendo executada. Fora de 
Proc1, as variáveis a e b terão valores nulos, conforme comprovaremos logo a seguir: 
 
 
 
179 Introdução a linguagem VBA 
Dê um clique no botão OK. Será exibida a janela indicada na figura a seguir: 
 
 
Como é possível se aux1= a + b e a=5 e b=7, logo aux1 deveria ser igual a 12. O que 
está acontecendo?? Observe que o valor da variável aux1 (foi calculado incorretamente), 
pois a variável aux1 depende dos valores de "a" e "b". Como as variáveis a e b foram 
declaradas dentro do procedimento Proc1, elas não podem ser acessadas de fora do 
procedimento proc1, ou seja, após a execução do procedimento ter sido encerrada. 
Dê um clique no botão OK e mantenha a planilha aberta. 
Com esse exemplo, foi possível verificar, na prática, o conceito de escopo (algumas 
vezes chamado de visibilidade) das variáveis. Na próxima lição, trataremos das 
Estruturas e laços de controle, que são elementos muito importantes na criação de 
programas VBA. 
A estrutura Select...Case 
Quando precisamos realizar uma série de testes, é mais eficiente utilizarmos uma única 
estrutura Select...Case , do que utilizarmos uma série de testes utilizando a estrutura 
If...Then...ElseIf . 
O funcionamento da estrutura Select...Case, é bastante intuitivo. 
Considere o exemplo a seguir: Dim x 
x=10 
 
Select Case x 
 
Case 2 
 
 
 
180 Introdução a linguagem VBA 
 
MsgBox “X vale 2 !“ 
 
Case 4 
 
MsgBox “X vale 4 !“ 
 
Case 6 
 
MsgBox “X vale 6 !“ 
 
Case 8 
 
MsgBox “X vale 8 !“ 
 
Case 10 
 
MsgBox “X vale 10 !“ 
 
Case Else 
 
MsgBox “X não é um número par, menor do que 12 “ 
 
End Select 
 
A estrutura Select Case x , vai testar o valor de x. Em cada um dos Case, o valor de x 
está sendo testado. Quando for encontrado um valor coincidente com o de x, os 
comandos abaixo deste Case serão executados. No nosso exemplo, o comando MsgBox 
―X vale 10 !― , abaixo de Case 10, será executado. O comando abaixo do Case Else 
somente será executado, se todos os testes anteriores falharem. 
O uso da estrutura Select...Case, torna o código mais eficiente e de mais fácil leitura. Na 
próxima lição veremos mais algumas estruturas de controle, disponíveis no VBA. 
Estruturas For...Next, Do...While e Do...Until 
Estruturas de repetição. 
Em determinadas situações, precisamos repetir um ou mais comandos, um número 
específico de vezes, ou até que uma determinada condição torne-se verdadeira ou falsa. 
Por exemplo, pode ser que haja a necessidade de percorrer todos os registros de uma 
determinada tabela, até que o último registro seja alcançado. Para isso, utilizamos as 
chamadas estruturas de repetição, ou Laços. A partir de agora, aprenderemos as 
estruturas de repetição disponíveis. 
 
 
 
181 Introdução a linguagem VBA 
A estrutura For...Next. 
Utilizamos o laço For...Next, para repetir um segmento de código, um número 
determinado de vezes. Utilizamos esta estrutura, quando já sabemos o número de vezes 
que umadeterminada seção de código deve ser repetida. Neste tipo de estrutura, 
normalmente, utilizamos uma variável como contador. Este contador varia de um valor 
inicial até um valor final. O Formato geral desta estrutura é o seguinte: 
For contador = inicio to fim incremento 
 
Comando1 
 
Comando2 
 
Comandon Next 
 
No início a variável contador tem o valor definido. Em cada passagem do laço, a variável 
contador é incrementada pelo valor definido em incremento. Caso não seja definido o 
incremento, será utilizado o padrão 1. 
Considere o exemplo a seguir: 
 
Dim x 
x=10 
 
Soma=0 
 
„Faz a soma dos 10 primeiros números maiores do que zero 
 
For i=1 to x 
 
Soma = Soma +i 
 
Next 
 
MsgBox “Valor da Soma = “ & Soma 
Neste exemplo, a variável i inicia com o valor 1. Em cada passo, o valor de i é 
acrescentado à variável Soma. Como o incremento não foi definido, será utilizado o 
padrão que é 1. Com isso, ao final do laço For...Next, a variável Soma, terá armazenado 
o valor da soma dos 10 primeiros números inteiros. 
Poderíamos utilizar um valor de incremento diferente de 1, para, por exemplo, obter a 
soma somente dos números ímpares menores do que 10: 
 
 
 
182 Introdução a linguagem VBA 
Dim x x=10 
Soma=0 
' Faz a soma dos 10 primeiros números ímpares 
For i=1 to x Step 2 
 
Soma = Soma +i 
 
Next 
 
MsgBox “Valor da Soma = “ & Soma 
Com este código, obtemos o resultado indicado na Figura a seguir: 
 
 resultado 
A estrutura Do...Loop 
Esta estrutura pode ser utilizada para repetir um trecho de código, enquanto uma 
determinada condição for verdadeira, ou até que uma determinada condição torne- se 
verdadeira . Podemos utilizar dois operadores condicionais diferentes: While ou Until . Os 
operadores While ou Until, podem ser utilizados de duas maneiras diferentes: No início do 
laço, ou no final do laço. Com isso temos quatro situações distintas, vamos analisar cada 
uma delas, a partir de agora. 
A estrutura Do While Condição...Loop 
Neste caso, estamos utilizando o operador condicional While, no início do laço. O formato 
geral, neste caso é o seguinte: 
Do While condição/teste 
 
Comando1 
 
Comando2 
... 
 
Comandon 
 
 
 
 
183 Introdução a linguagem VBA 
Loop 
 
Nesta estrutura, enquanto a condição for verdadeira, o código dentro do laço é executado 
. Quando a condição tornar-se falsa, o primeiro comando após o final do laço, será 
executado. Neste caso, se a condição for falsa já na primeira vez, o laço não será 
executado nenhuma vez. 
O Código dentro do laço deve ser capaz de alterar a condição para que essa se torne 
Falsa, pois caso contrário a condição será sempre verdadeira, e os comandos dentro do 
laço ficarão em execução, infinitamente, ou até o programa travar. A criação de laços 
infinitos, devido a erros de programação, é uma causa comum de erros e travamentos. 
Considere o exemplo a seguir: 
Dim x x=10 
Contador=1 
 
Soma=0 
 
' Faz a soma dos 10 primeiros números maiores do que zero 
 
Do While Contador <= x Soma = Soma + Contador Contador = Contador + 1 
Loop 
 
MsgBox “Valor da Soma = “ & Soma 
Observe que dentro do laço, vamos Incrementando o valor da variável Contador, uma 
unidade para cada passagem do laço. Com isso, quando o valor de Contador, atingir 11, 
o teste do início do laço torna-se falso, e o laço é encerrado. 
A estrutura Do... Loop While Condição 
Neste caso, deslocamos o teste de condição para o final do laço. Com o teste no final do 
laço, o código dentro do laço, será executado, pelo menos uma vez, pois o teste somente 
é feito no final, e continuará sendo executado, enquanto a condição for verdadeira. O 
formato geral, neste caso é o seguinte: 
Do 
 
Comando1 
 
Comando2 
 
... Comandon 
 
Loop While condição/teste 
 
 
 
184 Introdução a linguagem VBA 
 
Nesta estrutura, enquanto a condição for verdadeira, o código dentro do laço é 
executado. Quando a condição tornar-se falsa, o primeiro comando após o final do laço, 
será executado. Neste caso, se a condição for falsa já na primeira vez, o laço será 
executado uma única vez. 
O Código dentro do laço deve ser capaz de alterar a condição para Falso, quando for 
necessário, pois caso contrário a condição será sempre verdadeira, e os comandos 
dentro do laço ficarão em execução, infinitamente, ou até o programa travar. A criação de 
laços infinitos, devido a erros de programação, é uma causa comum de erros e 
travamentos. 
Considere o exemplo a seguir: 
Dim x 
 
x=10 
 
Contador=1 
 
Soma=0 
 
„Faz a soma dos 10 primeiros números maiores do que zero 
 
Do 
 
Soma = Soma + Contador 
 
Contador = Contador + 1 
 
Loop While Contador <= x 
 
MsgBox “Valor da Soma = “ & Soma 
Vamos modificar um pouco o nosso exemplo. Considere o exemplo mostrado a seguir: 
Dim x 
 
x=10 
 
Contador=11 
 
Soma=0 
 
„ O laço será executado uma única vez, pois a condição 
 
„ Contador < x é falsa. Do 
 
 
 
185 Introdução a linguagem VBA 
 
Soma = Soma + Contador 
 
Contador = Contador + 1 
 
Loop While Contador <= x 
 
MsgBox “Valor da Soma = “ & Soma 
Qual o valor será exibido para a variável Soma ? 
Muito simples. A condição Contador < x é falsa, pois x=10 e Contador=12 (Lembre que o 
Contador foi incrementado de uma unidade dentro do laço, antes do teste ser realizado). 
Neste caso, o laço será executado uma única vez, pois o teste de condição está no final 
do laço. Quando o laço é executado, é atribuído o valor 11 para a variável 
Soma. Com isso, o valor exibido para a variável Soma, será 11. 
A estrutura Do Until Condição...Loop. 
Neste caso, estamos utilizando o operador condicional Until, no início do laço. O formato 
geral, neste caso é o seguinte: 
 
Do Until condição 
 
Comando1 
 
Comando2 
 
... Comandon 
 
Loop 
 
Nesta estrutura, enquanto a condição for falsa, o código dentro do laço é executado. 
Quando a condição tornar-se verdadeira, o primeiro comando após o final do laço, será 
executado. Neste caso, se a condição for verdadeira, já na primeira vez, o laço não será 
executado nenhuma vez. 
O Código dentro do laço deve ser capaz de tornar a condição Verdadeira, quando for 
necessário, pois caso contrário a condição será sempre Falsa, e os comandos dentro do 
laço ficarão em execução, infinitamente, ou até o programa travar. A criação de laços 
infinitos, devido a erros de programação, é uma causa comum de erros e travamentos. 
Considere o exemplo a seguir: 
 
 
 
186 Introdução a linguagem VBA 
Dim x 
 
x=10 
 
Contador=1 
 
Soma=0 
 
„Faz a soma dos 10 primeiros números maiores do que zero 
 
Do Until Contador > x 
 
Soma = Soma + Contador 
 
Contador = Contador + 1 
Loop 
 
MsgBox “Valor da Soma = “ & Soma 
Observe que dentro do laço, vamos Incrementando o valor da variável Contador, uma 
unidade para cada passagem do laço. Com isso, quando o valor de Contador, atingir 11, 
o teste do início do laço torna-se Verdadeiro, e o laço é encerrado. 
A estrutura Do... Loop Until Condição. 
Neste caso, deslocamos o teste de condição para o final do laço. Com o teste no final do 
laço, o código dentro do laço, será executado, pelo menos uma vez, pois o teste somente 
é feito no final, e continuará sendo executado, enquanto a condição for Falsa. O formato 
geral, neste caso é o seguinte: 
Do 
 
Comando1 
 
Comando2 
 
... ComandonLoop Until condição 
Nesta estrutura, enquanto a condição for Falsa, o código dentro do laço é executado. 
Quando a condição tornar-se Verdadeira, o primeiro comando após o final do laço, será 
executado. Neste caso, se a condição for Verdadeira, já na primeira vez, o laço será 
executado uma única vez. 
O Código dentro do laço deve ser capaz de tornar a condição Verdadeira, quando for 
necessário, pois caso contrário a condição será sempre Falsa, e os comandos dentro do 
 
 
 
187 Introdução a linguagem VBA 
laço ficarão em execução, infinitamente, ou até o programa travar. A criação de laços 
infinitos, devido a erros de programação, é uma causa comum de erros e travamentos. 
Considere o exemplo a seguir: 
Dim x 
 
x=10 
 
Contador=1 
 
Soma=0 
 
„Faz a soma dos 10 primeiros números maiores do que zero 
 
Do 
 
Soma = Soma + Contador 
 
Contador = Contador + 1 
 
Loop Until Contador > x 
 
MsgBox “Valor da Soma = “ & Soma 
 
Vamos modificar um pouco o nosso exemplo. Considere o exemplo a seguir: 
 
Dim x 
 
x=10 
 
Contador=11 
 
Soma=0 
 
„O laço será executado uma única vez, pois a condição 
 
„Contador >= x é verdadeira. 
 
Do 
 
Soma = Soma + Contador 
 
Contador = Contador + 1 
 
Loop Until Contador >= x 
 
MsgBox “Valor da Soma = “ & Soma 
Qual o valor será exibido para a variável Soma? 
 
 
 
188 Funções do VBA – Funções de Tipo – Parte 1 
Muito simples. A condição Contador>= x é falsa, pois x=10 e Contador=12 (Lembre que 
o Contador foi incrementado de uma unidade, na linha 11, na primeira passagem do 
laço). Neste caso, o laço será executado uma única vez, pois o teste de condição está no 
final do laço. Quando o laço é executado, é atribuído o valor 11 para a variável Soma. 
Com isso, o valor exibido para a variável Soma, será 11. 
Funções do VBA – Funções de Tipo – Parte 1 
A partir de agora veremos uma série de aspectos que vão além do básico do VBA. 
Iniciaremos falando um pouco mais sobre tipos de dados e funções para conversão de 
tipos. Este tópico é de grande importância, principalmente quando criamos código que 
efetua cálculos, tais como uma folha e pagamentos ou cálculos de impostos. 
Depois passaremos a analisar uma série de funções internas do VBA. São funções que 
fazem parte do Microsoft Excel, como por exemplo a função Date(), que retorna a data do 
sistema. Nas lições do próximo módulo, aprenderemos a criar nossas próprias funções e 
Sub-rotinas. Aprenderemos as diferenças entre uma Sub-rotina e uma função, e quando 
utilizar uma ao invés da outra. 
Tipos de dados e funções para conversão de tipos 
Neste item, aprenderemos a determinar qual o tipo de dado que está armazenado em 
uma variável, bem como a converter valores de um tipo para outro, utilizando as funções 
para conversão de tipos. 
Determinando o Tipo de Dados contido em uma variável. 
Existem diversas funções, que permitem que seja determinado o tipo de valor contido em 
uma variável. Existem diversas aplicações para este tipo de função. Por exemplo, ao 
digitar dados em um formulário do Excel (no curso sobre Programação VBA e Criação de 
Aplicativos com o Excel, aprenderemos a criar formulários), podemos utilizar uma 
função para determinar se os valores digitados pelo usuário, não apresentam problemas. 
Por exemplo, o usuário pode ter digitado, por engano, texto em um campo que deve 
conter valores numéricos. 
A função IsArray. 
Um Array é um tipo especial de variável, a qual pode armazenar diversos valores em uma 
única variável. De uma forma simples, um Array é um conjunto ou como aprendi nos bons 
 
 
 
189 Funções do VBA – Funções de Tipo – Parte 1 
e velhos tempos da faculdade de Engenharia Elétrica na UFSM: Um vetor. Por exemplo, 
poderíamos ter uma variável Array na qual são armazenados todos os códigos de tributo, 
válidos para o recolhimento de impostos. Cada valor armazenado no Array é um 
elemento do conjunto. Um outro exemplo: Poderíamos criar um Array para armazenar os 
nomes dos meses do ano. Com isso teríamos um Array de 12 elementos. 
Cada elemento de um Array, é acessado através do nome da variável Array e de um 
índice. O índice inicia em zero e não em um . Por isso se tivermos um Array de 10 
elementos, teremos o elemento 0, o elemento 1, o elemento 2, e assim por diante, até o 
elemento 9. O fato do índice começar com 0, influencia na hora que formos declarar um 
Array. Para declarar um Array chamado produtos, com 20 elementos, utilizaríamos o 
seguinte comando: 
Dim produtos(19) 
O 19 significa que temos 20 elementos (sempre um a mais do que o número que aparece 
na declaração), isto é, do elemento 0, indicado por produtos(0), até o elemento 20, 
indicado por produtos(19). 
No exemplo a seguir, temos um exemplo simples de utilização de Array: 
'Declara um Array de 7 posições 
 
'Como a primeira posição é a posição zero, 
 
'Indicamos o tamanho como 6, o que significa 
 
'da posição 0 até a posição 6 = 7 elementos. Dim Dias(6) 
'Atribuímos valores para os dias da semana 
 
Dias(0)= "Segunda-feira" 
Dias(1)= "Terça-feira" 
Dias(2)= "Quarta-feira" 
Dias(3)= "Quinta-feira" 
Dias(4)= "Sexta-feira" 
Dias(5)= "Sábado" 
Dias(6)= "Domingo" 
 
'Agora utilizamos um laço For...Next 
 
'Para criar uma String, com o conteúdo 
 
'Do Array Dias. 
 
For i=0 to 6 
 
mensagem = mensagem & "Dia: " & i+1 & " " & Dias(i)& chr(13) 
 
Next 
 
 
 
190 Funções do VBA – Funções de Tipo – Parte 1 
 
'Utilizamos uma MsgBox, para exibir a mensagem 
 
'com o conteúdo do Array Dias. 
 
MsgBox mensagem 
 
Esse trecho de código, ao ser executado, produziria a seguinte saída: 
 
 caixa com o resultado 
Utilizamos a função IsArray, para determinar se uma variável do tipo Variant (lembre que 
todas as variáveis do VBA, são do tipo Variant), está armazenando um Array. 
Utilizamos a seguinte sintaxe: 
IsArray(NomeDaVariável) 
A função IsArray retorna verdadeiro se a variável for um Array, e falso caso contrário. 
Vamos alterar um pouco o exemplo anterior, adicionando o seguinte comando, ao final da 
listagem.: 
MsgBox IsArray(Dias) 
o resultado seria o indicado na Figura a seguir: 
 
 
 
191 Funções do VBA – Funções de Tipo – Parte 1 
 
 resultado 
A função VarType. 
Podemos utilizar a função VarType, para determinar o subtipo de uma variável. Como 
todas as variáveis são do tipo Variant, o subtipo pode ser utilizado para determinar o tipo 
de dado armazenado na variável. Passamos para a função, o nome de uma variável ou 
expressão. A função retorna um número inteiro que indica o subtipo da variável. 
A sintaxe da função é a seguinte: 
VarType(NomeDaVariável) 
 
ou 
VarType(expressão) 
 
Na Tabela a seguir temos os códigos de retorno da função VarType. 
 
 
Valor 
 
 
 
Descrição 
 
 Vazio (não inicializado) 
 
 
 
192 Funções do VBA – Funções de Tipo – Parte 1 
 0 
 
 
1 
 
Nulo (dados não válidos) 
 
2 
 
Inteiro 
 
3 
 
Inteiro longo 
 
4 
 
Número de precisão simples 
 
 
 
193 Funções do VBA – Funções de Tipo – Parte 1 
 
5 
 
Número de precisão dupla 
 
6 
 
Monetário 
 
7 
 
Data 
 
9 
 
Objeto de automação 
 
10 
Erro 
 
 
 
194 Funções do VBA – Funções de Tipo – Parte 1 
 
 
11 
 
Boleano 
 
12 
 
Variant (somente é utilizado com Arrays de variantes) 
 
13 
 
Um objeto para acesso adados. 
 
17 
 
Byte 
 
 
 
195 Funções do VBA – Funções de Tipo – Parte 1 
 
8192 
 
Array 
Tabela 2.1 – Retorno da função Vartype 
No exemplo a seguir, temos um exemplo de utilização da função VarType. 
Dim x,y,z 
 
Dim a, b 
 
Dim c(20) 
 
Dim mensagem As String x=12 
y=23.456 
 
y=123456789 
 
a="Este é um valor de texto !" 
 
„tilizamos a função Date( ), para capturar a data do sistema. b=Date() 
 
mensagem = "Tipo da variável x: " & Vartype(x) & Chr(13) 
 
mensagem = mensagem & "Tipo da variável y: " & Vartype(y) & Chr(13) 
 
mensagem = mensagem & "Tipo da variável z: " & Vartype(z) & Chr(13) 
 
mensagem = mensagem & "Tipo da variável a: " & Vartype(a) & Chr(13) 
 
mensagem = mensagem & "Tipo da variável b: " & Vartype(b) & Chr(13) 
 
mensagem = mensagem & "Tipo da variável c: " & Vartype(c) & Chr(13) 
 
MsgBox mensagem 
 
 
 
 
196 Funções do VBA – Funções de Tipo – Parte 1 
Ao executar este exemplo, obteremos o resultado indicado na Figura a seguir: 
 
 Resultado 
Observe, principalmente, no tipo da variável z, o qual retornou 0. Isto significa que a 
variável z está vazia, ou seja, não foi inicializado. Este resultado está coerente com a 
Tabela anterior. Também podemos salientar o retorno para a variável b, o qual retornou 
7, indicando que o valor armazenado nesta variável é do tipo Data, o que também está 
coerente com a Tabela anterior, uma vez que usamos a função Date() , para armazenar a 
data do sistema, na variável b. Finalmente observe o valor de retorno para a variável c, o 
qual retornou 8192, indicando que a variável c é um Array. Este resultado está coerente 
com a Tabela anterior, e com a declaração: Dim c(20), a qual declarou a variável c como 
sendo um Array. 
Muitas são as aplicações práticas para a função VarType, dentre as quais podemos 
destacar a validação dos dados digitados em um formulário. 
Funções do VBA – Funções de Tipo – Parte 2 
A função IsDate. 
A função IsDate recebe uma variável ou expressão como argumento, e determina se a 
variável ou expressão é uma data válida, ou pode ser convertida para uma data válida. 
Caso o argumento passado seja uma data válida, a função retorna Verdadeiro, caso 
contrário,retorna Falso. Podemos utilizar esta função, por exemplo, para verificar se o 
usuário digitou uma data válida, em um campo de um formulário. 
A sintaxe da função IsDate é a seguinte: 
IsDate(NomeDaVariável) 
ou 
 
 
 
197 Funções do VBA – Funções de Tipo – Parte 1 
IsDate(expressão) 
A seguir temos um exemplo de utilização da função IsDate. 
If IsDate(x) Then 
 
MsgBox "Você digitou uma data válida !" 
 
Else 
 
MsgBox "Data inválida, digite novamente !" 
 
End If 
 
A função IsEmpty. 
A função IsEmpty recebe uma variável ou expressão como argumento, e determina se, 
em algum momento, foi atribuído algum valor para a variável ou expressão. Caso tenha 
sido atribuído algum valor, a função retorna Verdadeiro, caso contrário, retorna Falso. 
Podemos utilizar esta função, por exemplo, para verificar se um campo de digitação 
obrigatória, como por exemplo o nome, não foi deixado em branco. 
A sintaxe da função IsEmpty é a seguinte: 
IsEmpty(NomeDaVariável) 
ou 
 
IsEmpty(expressão) 
 
A seguir temos um exemplo de utilização da função IsEmpty. 
Vamos declarar uma variável x, que nunca 
Será utilizada no nosso Script 
Dim a, b, c 
 
 
 
198 Funções do VBA – Funções de Tipo – Parte 1 
Dim x a=10 
b=23 
c=a+b 
If IsEmpty(x) Then 
MsgBox "A variável x, não foi utilizada !" 
End If 
 
A variável x foi declarada porém não foi inicializada, com isso está vazia, logo a função 
IsEmpty(x) irá retornar Verdadeiro. 
A função IsNull 
A função IsNull recebe uma variável ou expressão como argumento, e determina se, em 
algum momento, foi atribuído o valor Null para a variável ou expressão. Caso tenha sido 
atribuído o valor Null, a função retorna Verdadeiro, caso contrário, retorna Falso. Para 
atribuirmos Null para uma variável, utilizamos a seguinte sintaxe: 
NomeDaVariável = Null 
Uma variável com valor Null, não é a mesma coisa que uma variável com valor zero, ou 
uma variável de texto com tamanho zero. Quando é atribuído o valor Null para a variável, 
esta continua existindo na memória, porém sem nenhum valor definido. 
A sintaxe da função IsNull é a seguinte: 
IsNull(NomeDaVariável) 
ou 
IsNull(expressão) 
 
 
 
199 Funções do VBA – Funções de Tipo – Parte 1 
A seguir temos um exemplo de utilização da função IsNull. 
' Vamos declarar uma variável x, e atribuir 
 
' Null, para a variável. Dim x 
 
x = Null 
 
If IsNull(x) Then 
 
MsgBox "A variável x é Nula !" 
 
End If 
 
Este exemplo produz o seguinte resultado: 
 
 
 Resultado. 
 
A função IsNumeric. 
A função IsNumeric recebe uma variável ou expressão como argumento, e determina se 
o valor atribuído à variável ou expressão é numérico, ou pode ser convertido para 
numérico. Caso o valor seja numérico, ou possa ser convertido, a função retorna 
Verdadeiro, caso contrário, retorna Falso. 
A sintaxe da função IsNumeric é a seguinte: 
IsNumeric(NomeDaVariável) 
ou 
IsNumeric(expressão) 
 
 
 
200 VBA – Funções para conversão de Tipos– Parte 1 
A seguir temos um exemplo de utilização da função IsNumeric. 
Dim x,y,z 
x=123 
 
'Atribuo um valor que não pode ser convertido 
 
'para numérico 
 
y = "Riachuelo - 80" 
 
z = Date() 
 
mensagem = "Valor de x: " & x &" É numérico ? " & IsNumeric(x)& Chr(13) 
 
mensagem = mensagem & "Valor de y: " & y &" É numérico ? " & 
IsNumeric(y)& Chr(13) 
 
mensagem = mensagem & "Valor de z: " & z &" É numérico ? " & IsNumeric(z) 
 
MsgBox mensagem 
Cabe salientar a utilização da função Date(), para capturar a data do sistema, e atribuir 
esta data à variável z. Observe que esta data não foi considerada um valor numérico 
para a função IsNumeric. 
VBA – Funções para conversão de Tipos– Parte 1 
Por que converter tipos? 
Vamos aprenderemos a utilizar as principais funções para conversão de tipos. Existem 
situações em que um determinado tipo de dado, deve ser convertido para outro. Por 
exemplo, se tivermos um número, armazenado na forma de texto, precisamos convertê-lo 
para inteiro ou double, para que possamos realizar cálculos. 
Na seqüência, apresento as principais funções de conversão, bem como um pequeno 
fragmento de código, exemplificando a utilização de cada uma delas. 
Função Cbool 
A função Cbool converte uma variável ou resultado de um expressão, para o subtipo 
Boolean. Qualquer número, com exceção do zero, é automaticamente convertido para 
Verdadeiro. O valor zero é sempre convertido para Falso. O argumento desta função, não 
pode ser Texto, caso contrário será gerado um erro em tempo de execução. 
 
 
 
201 VBA – Funções para conversão de Tipos– Parte 1 
Observe este linha de código: 
MsgBox cbool(10>25) & chr(13) & cbool(3) 
Esta linha gera a mensagem indicada na Figura a seguir: 
 
 Resultado 
 
A expressão 10>25 é avaliada, como a expressão é falsa, a função Cbool retorna Falso. 
Já no segundo uso da função Cbool, foi passado o parâmetro 3 para a função. Qualquer 
valor diferente de zero (com exceção de texto), a função interpreta como Verdadeiro, o 
que é comprovado pela Figura anterior. 
Função CByte 
A função CByte converte uma variável ou resultado de um expressão, para o subtipo 
Byte. O valor a ser convertido,deve estar na faixa aceitável para o tipo byte, que vai de 0 
à 255. Caso o número esteja fora desta faixa, será gerada uma mensagem de erro, em 
tempo de execução. O argumento desta função, não pode ser Texto, caso contrário será 
gerada uma mensagem de erro, em tempo de execução. 
Observe este linha de código: 
MsgBox CByte(10+34) & chr(13) & CByte(35) 
Esta linha gera a mensagem indicada na Figura a seguir: 
 
 Resultado. 
 
 
 
202 VBA – Funções para conversão de Tipos– Parte 1 
A expressão 10+34 é calculada, e o resultado (44), é convertido para o tipo byte. A linha 
de código abaixo, irá gerar uma mensagem de erro, em tempo de execução, pois o valor 
a ser convertido para byte, está fora da faixa de 0 à 255. 
MsgBox CByte(100+200) 
Essa linha de código irá gerar a seguinte mensagem de erro: 
 
 Erro gerado. 
Função CCur 
A função CCur converte uma variável ou resultado de um expressão, para o subtipo 
Currency (semelhante ao formato Moeda, porém sem o símbolo do real: R$). O 
argumento desta função, não pode ser Texto, caso contrário será gerado um erro. 
Observe este linha de código: 
MsgBox CCur(250.335677+324.3333) & chr(13) & CCur(1250.326582) 
Esta linha gera a mensagem indicada na Figura a seguir: 
 
 Resultado. 
 
 
 
 
203 VBA – Funções para conversão de Tipos– Parte 1 
A expressão 250.335677+324.3333 é calculada, e o resultado é convertido para o tipo 
Currency. Se passarmos um argumento de texto para a função CCur, será gerado um 
erro de execução, conforme indicado na Figura a seguir: 
 
 Erro 
Função CDate 
A função CDate converte uma variável ou resultado de um expressão, para o subtipo 
Date. O argumento desta função deve estar em um formato que seja aceitável para 
datas, caso contrário será gerada uma mensagem de erro, em tempo de execução. 
Observe este linha de código: 
MsgBox CDate(—31/10/1980“) & chr(13) & CDate(—23-01-2007“) 
Esta linha gera a mensagem indicada na Figura a seguir: 
 
 Resultado. 
A linha de código abaixo, irá gerar uma mensagem de erro, em tempo de execução, 
conforme indicado na próxima figura: 
MsgBox CDate(“31/02/1980“) 
 
 
 
 
204 VBA – Funções para conversão de Tipos– Parte 1 
 
 Erro. 
Função CDbl 
A função CDbl converte uma variável ou resultado de um expressão, para o subtipo 
Double. O tipo Doublé é utilizado para números grandes com casas decimais. O 
argumento desta função não pode ser do tipo texto, caso contrário será gerada uma 
mensagem de erro, em tempo de execução. 
Observe este linha de código: 
MsgBox CDbl("4.940651247E-17") 
Esta linha gera a mensagem indicada na Figura a seguir: 
 
 
 Resultado. 
Função CInt 
A função CInt converte uma variável ou resultado de um expressão, para o subtipo 
Integer. O argumento desta função não pode ser do tipo texto, caso contrário será gerada 
uma mensagem de erro, em tempo de execução. 
Observe este linha de código: 
 
 
 
205 VBA – Funções para conversão de Tipos– Parte 1 
MsgBox CInt(32.36) & Chr(13) & CInt(20.35+40.45) 
Esta linha gera a mensagem indicada na Figura a seguir: 
 
 
 Resultado. 
 
Função CLng 
A função CLng converte uma variável ou resultado de um expressão, para o subtipo 
Long. O argumento desta função não pode ser do tipo texto, caso contrário será gerada 
uma mensagem de erro, em tempo de execução. O argumento também não pode estar 
fora da faixa admitida pelo subtipo Long, caso contrário será gerada uma mensagem de 
erro, em tempo de execução. 
Observe este linha de código: 
MsgBox CLng("3462315") 
Esta linha gera a mensagem indicada na Figura a seguir: 
 
 Resultado 
 
Função CSng 
A função CSng converte uma variável ou resultado de um expressão, para o subtipo 
Single. 
 
 
 
206 VBA – Funções para conversão de Tipos– Parte 1 
O argumento desta função não pode ser do tipo texto, caso contrário será gerada uma 
mensagem de erro, em tempo de execução. O argumento também não pode estar fora da 
faixa admitida pelo subtipo Single, caso contrário será gerada uma mensagem de erro, 
em tempo de execução. 
Observe este linha de código: 
MsgBox CSng("3.1418256927") 
Esta linha gera a mensagem indicada na Figura a seguir: 
 
 
 Resultado 
 
Função CStr 
A função CStr converte uma variável ou resultado de um expressão, para o subtipo 
String. Observe este linha de código: 
MsgBox CStr("12345" & " hectares de terra") 
Esta linha gera a mensagem indicada na Figura a seguir: 
 
 Resultado. 
 
 
 
207 VBA – Funções para conversão de Tipos– Parte 1 
Função Int 
A função Int retorna somente a parte inteira de um determinado número. A linha de 
código a seguir: 
MsgBox Int(-7.35) & Chr(13) & Int(10.35) 
Esta linha gera a mensagem indicada na Figura a Seguir: 
 
 Resultado. 
Com isso, terminamos a nossa apresentação sobre as principais funções para a 
conversão de tipos de dados. Na próxima lição, analisaremos mais algumas funções do 
VBA, para operações com dados do tipo String e do tipo Data/Hora. 
Funções para tratamento de Texto 
Nessa lição veremos as principais funções para tratamento de String. 
Função Asc 
A função Asc, retorna o valor numérico do código ASCII, para a primeira letra de uma 
String. Considere o exemplo: 
Asc(“Ainda chovia“) 
Este exemplo de uso da função retorna o valor 65, o qual é o código ASCII, para a letra A 
maiúscula. Caso fosse a letra "a" minúscula, o código retornado seria 97 e assim por 
diante. 
 
 
 
208 VBA – Funções para conversão de Tipos– Parte 1 
Função Chr 
A função Chr(número), recebe um número como parâmetro, e retorna o caractere ASCII, 
associado ao número passado como parâmetro. 
Considere o exemplo: 
Chr(65) 
 
Este exemplo de uso da função retorna o caractere "A" maiúsculo. 
Até agora, utilizamos a função Chr em diversos exemplos. Utilizamos o Chr(13), para 
simular um ENTER, o que faz uma quebra de linha, nas mensagens montadas com o 
MsgBox. 
Função Len 
Esta função determina o tamanho da String que foi passada como parâmetro para a 
função. Considere o exemplo: 
MsgBox Len(“Este é um exemplo de uso da função Len !“) 
Este exemplo de uso da função, retorna 41, conforme indicado na Figura a seguir: 
 
Fgiura x.x – Resultado. 
É importante observar que os espaços em branco também —contam― para o tamanho da 
string. 
 
 
 
209 VBA – Funções para conversão de Tipos– Parte 1 
Função LCase 
Esta função converte para minúsculas, a String que foi passada como parâmetro para a 
função. Considere o exemplo: 
MsgBox Lcase(“ESTE É UM EXEMPLO DE USO DA FUNÇÀO LCASE!“) 
Este exemplo de uso da função, converte o parâmetro passado, para letras minúsculas, 
conforme indicado na Figura a seguir: 
 
 Resultado. 
Função UCase 
Esta função converte para MAIÚSCULAS, a String que foi passada como parâmetro para 
a função. Considere o exemplo: 
MsgBox Lcase(―este é um exemplo do uso da função ucase !―) 
Este exemplo de uso da função, converte o parâmetro passado, para letras maiúsculas, 
conforme indicado na Figura a seguir: 
Função Left 
Esta função retorna um número especificado de caracteres, a partir do início (Left œ 
Esquerda) de uma String. É importante salientar que espaços em branco também devem 
ser considerados. 
O formato geral da função é o seguinte: 
Left(String, n) 
onde n é o número de caracteres a retornar. Considere o exemplo: 
 
 
 
210 VBA – Funções para conversão de Tipos– Parte 1 
MsgBox Left(“Gabriel Otávio“,7) 
Este exemplo de uso da função, retorna as cinco primeiras letras da String passada,neste caso, retornará Gabriel. 
Vamos alterar um pouco o nosso exemplo: 
MsgBox Left(“Gabriel Otávio“,9) 
Irá retornar: Gabriel O 
Observe que o espaço em branco também é considerado. 
Função Right 
Esta função retorna um número especificado de caracteres, a partir do final (Right œ 
Direita) de uma String. É importante salientar que espaços em branco também devem 
ser considerados. 
O formato geral da função é o seguinte: 
Right(String, n) 
Onde n é o número de caracteres a retornar. Considere o exemplo: 
MsgBox Right(“Gabriel Otávio“,6) 
Este exemplo de uso da função, retorna as seis ultimas letras da String passada, neste 
caso, retornará ―Otávio―. 
Vamos alterar um pouco o nosso exemplo: 
MsgBox Right(—Gabriel Otávio Tavares Ramos“,8) 
Irá retornar: L Otávio 
 
 
 
211 VBA – Funções para conversão de Tipos– Parte 1 
Observe que o espaço em branco também é considerado. 
Função Mid 
Esta função retorna um número especificado de caracteres, a partir de uma posição 
especificada, dentro da String. É importante salientar que espaços em branco também 
devem ser considerados. 
O formato geral da função é o seguinte: Mid(String, posicao_inicio, n) 
 
Onde: posicao_inicio é a posição a partir da qual devem ser retornados caracteres n é o 
número de caracteres a retornar. Considere alguns exemplos: 
Mid(“Gabriel Otávio“,8,6) 
Este exemplo de uso da função, retorna, a partir da posição 7, 5 caracteres, neste caso, 
retornará Otávio. 
Mid(“SANTA MARIA“,3,7) 
irá retornar NTA MAR. 
Observe que o espaço em branco também é considerado. 
Um detalhe interessante, é que podemos utilizar o valor retornado por uma função, como 
parâmetro para outra função. Considere o seguinte exemplo: 
LCase(Mid(—SANTA MARIA“,3,7)) 
Este exemplo retorna ―nta mar‖. 
A função Mid retira os caracteres NTA MAR, os quais são passados como parâmetros 
para a função LCase, a qual converte os caracteres para minúsculos. 
 
 
 
212 VBA – Funções para conversão de Tipos– Parte 1 
Função String 
Esta função retorna um determinado caractere, um número especificado de vezes. 
O formato geral da função é o seguinte: 
String(n, Caracter) 
Onde n é o número de vezes que Caractere deve ser repitido. 
Considere o exemplo: 
MsgBox String(35,“*“) 
A Figura a seguir mostra o resultado deste comando: 
 
Fgirua X.X - Resultado. 
Funções de Data/Hora e Matemáticas 
Funções para tratamento de Data e Hora 
Veremos as principais funções para tratamento de Data e Hora. 
Função Date 
Retorna a data corrente do sistema. Não precisamos passar parâmetros para esta 
função. Considere o exemplo abaixo: 
MsgBox “Data do Sistema: “ & Date() 
O resultado deste comando, está indicado na Figura a seguir: 
 
 
 
213 VBA – Funções para conversão de Tipos– Parte 1 
 
 Resultado. 
Função Time 
Retorna a hora corrente do sistema. Não precisamos passar parâmetros para esta 
função. Considere o exemplo abaixo: 
MsgBox “Hora do Sistema: “ & Time( ) 
O resultado deste comando, está indicado na Figura a seguir: 
 
 Resultado. 
 
Função Day 
Recebe como parâmetro uma data, e retorna um número entre 1 e 31, indicando o dia do 
mês. O formato geral é o seguinte: 
Day(data) 
Considere o exemplo abaixo: 
MsgBox “Dia do mês: “ & Day(Date( )) 
O resultado deste comando, está indicado na Figura a seguir: 
A função Date() captura a data do sistema e passa como parâmetro para a função Day, a 
qual por sua vez, retorna apenas o dia do mês. 
 
 
 
214 VBA – Funções para conversão de Tipos– Parte 1 
 
 Resultado. 
Função Month 
Recebe como parâmetro uma data, e retorna um número entre 1 e 12, indicando o mês 
do ano. O formato geral é o seguinte: 
Month(data) 
Considere o exemplo abaixo: 
MsgBox “Mês do ano: “ & Month(Date( )) 
O resultado deste comando, está indicado na Figura a seguir: 
 
 Resultado. 
A função Date() captura a data do sistema e passa como parâmetro para a função Month, 
a qual por sua vez, retorna apenas o mês do ano 
Função Now 
Retorna a hora e a data corrente do sistema. Não precisamos passar parâmetros para 
esta função. Considere o exemplo abaixo: 
MsgBox “Data e Hora do Sistema:“ & Now( ) 
O resultado deste comando, está indicado na Figura a seguir: 
 
 
 
215 VBA – Funções para conversão de Tipos– Parte 1 
 
 Resultado 
Função MonthName 
Recebe como parâmetro um número, indicativo do mês do ano (1 œ Janeiro, 2 œ 
Fevereiro, e assim por diante), e um segundo parâmetro que pode ser Verdadeiro ou 
Falso. Se o segundo parâmetro for verdadeiro, o nome do mês será exibido 
abreviadamente. O formato geral é o seguinte: 
MonthName(número_do_mês, abreviar) 
Considere o exemplo abaixo: 
MsgBox "Mês do ano: " & MonthName(Month(Date)) 
O resultado deste comando, está indicado na Figura a seguir: 
 
 Resultado. 
 
A função Date() captura a data do sistema e passa como parâmetro para a função Month. 
A 
função Month retorna o número do mês retornado pela data. Este número é passado 
como primeiro parâmetro para a função MonthName. 
 
 
 
216 VBA – Funções para conversão de Tipos– Parte 1 
Função Hour 
Recebe como parâmetro uma hora, e retorna um número entre 0 e 23, indicando o hora 
do dia. O formato geral é o seguinte: 
Hour(horário) 
Considere o exemplo abaixo: 
MsgBox “Hora do dia: “ & Hour(Time( )) 
O resultado deste comando, está indicado na Figura a seguir: 
 
 Resultado. 
A função Time() captura a hora do sistema e passa como parâmetro para a função 
Hour(), a qual por sua vez, retorna apenas o hora do dia. 
A função DateDiff 
Esta função pode ser utilizada para determinar o número de intervalos (em dias, 
trimestres, semestres, anos, etc), entre duas datas. A sintaxe desta função é o seguinte: 
DateDiff(intervalo, data1, data2) 
O parâmetro intervalo é uma String que diz que tipo de intervalo vamos calcular. Por 
exemplo, é este parâmetro que define se queremos calcular o número de dias, ou o 
número de meses entre duas datas. Na Tabela a seguir, temos os valores possíveis para 
o parâmetro intervalo. 
Valores para o parâmetro intervalo 
Valor Descrição Anos q Trimestres m Meses 
 
 
 
217 VBA – Funções para conversão de Tipos– Parte 1 
 
 
Valor 
 
 
 
Descrição 
 
 
yyyy 
 
Anos 
 
q 
 
Trimestres 
 
m 
 
Meses 
 Dias do ano (o mesmo que dias) 
 
 
 
218 VBA – Funções para conversão de Tipos– Parte 1 
y 
 
 
d 
 
Dias 
 
w 
 
Semanas 
 
w 
 
 
Semanas do ano 
 
 
ww 
 
Semans do ano (o mesmo que semanas) 
 
 
 
 
219 VBA – Funções para conversão de Tipos– Parte 1 
 
h 
 
Horas 
 
 
n 
 
Minutos 
 
 
s 
 
Segundos 
 
Tabela 2.1 – Comparados condicionais. 
A título de exemplo, vamos calcular o número de meses, desde o descobrimento do 
Brasil, até 31 de Dezembro de 1999. Para isso, utilizaríamos o seguinte comando 
MsgBox “Meses desde o descobrimento: “ & 
DateDiff(“m“,“22/04/1500“,“31/12/1999“) 
O resultado deste comando, pode ser conferido na Figura a seguir: 
 
 
 
 
220 VBA – Funções para conversão de Tipos– Parte 1 
 Resultado. 
Vamos modificar um pouco o nosso exemplo, e calcular o número de horas desde o 
descobrimento. Para isto, podemos utilizar o seguinte comando: 
MsgBox “Meses desde o descobrimento: “ & 
DateDiff(“h“,“22/04/1500“,“31/12/1999“) 
O resultado deste comando, pode ser conferido na Figura a seguir: 
 
 Resultado. 
A função DateAdd 
Esta função podeser utilizada para determinar uma data futura, com base em uma data 
fornecida, o tipo de período a ser acrescentado (dias, meses, anos, etc), e o número de 
períodos a serem acrescentados. A sintaxe desta função é o seguinte: 
DateAdd(intervalo, número_de_intervalos, data) 
O parâmetro intervalo é uma String que diz que tipo de intervalo vamos acrescentar. Por 
exemplo, é este parâmetro que define se queremos acrescentar um número especificado 
de dias, meses, anos, etc. Na Tabela a seguir, temos os valores possíveis para o 
parâmetro intervalo. 
A título de exemplo, vamos calcular a data em que tivemos um período de 1000 meses, 
após o descobrimento do Brasil. Para isso, utilizaríamos o seguinte comando: 
MsgBox “Mil meses após o descobrimento foi em : “ & 
DateAdd(“m“,1000,“22/04/1500“) 
O resultado deste comando, pode ser conferido na Figura a seguir: 
 
 
 
221 VBA – Funções para conversão de Tipos– Parte 1 
 
 Resultado. 
Vamos modificar um pouco o nosso exemplo, e calcular em que data teremos passado 
um milhão de dias após o descobrimento. 
MsgBox “Um milhão de dias após o descobrimento em : “ & 
DateAdd(“d“,1000000,“22/04/1500“) 
O resultado deste comando, pode ser conferido na Figura a seguir: 
 
 Resultado. 
Função Year 
Recebe como parâmetro uma data, e retorna um número indicativo do ano. O formato 
geral é o seguinte: 
Year(data) 
Considere o exemplo abaixo: 
MsgBox —Ano atual: — & Year(Date( )) 
O resultado deste comando, está indicado na Figura a seguir: 
 
 Resultado. 
 
 
 
222 VBA – Funções para conversão de Tipos– Parte 1 
A função Date() captura a data do sistema e passa como parâmetro para a função Year, 
a qual por sua vez, retorna apenas o ano. 
Função WeekDay 
Recebe como parâmetros uma data, e um parâmetro opcional, que indica qual o primeiro 
dia da semana. Se este parâmetro for omitido, o primeiro dia da semana será 
considerado Domingo. O valor para o primeiro dia da semana é numérico: 1 œ Domingo, 
2 œ Segunda- feira, e assim por diante. 
WeekDay(data, prim_dia_semana.) 
 Considere o exemplo abaixo: 
MsgBox “Dia da semana: “ & WeekDay(“31/12/1999“) 
O resultado deste comando, está indicado na Figura a seguir: 
 
 Resultado. 
O valor 6, indica que foi uma Sexta-feira, o que confere com o calendário. Poderíamos 
determinar que o primeiro dia da semana é a Segunda-feira (2 para o último parâmetro). 
Com isso o nosso exemplo, ficaria assim: 
MsgBox “Dia da semana: “ & WeekDay(“31/12/1999“,2) 
O resultado deste comando, está indicado na Figura a seguir: 
 
 Resultado. 
 
 
 
223 VBA – Funções para conversão de Tipos– Parte 1 
O valor 5, indica que foi uma Sexta-feira, pois agora a Segunda-feira passou a ser o dia 
1, a Terça-feira o dia 2, e assim por diante. Novamente confere com o calendário. 
Função WeekDayName 
Recebe como parâmetro um número, indicativo do dia da semana, e um segundo 
parâmetro que pode ser Verdadeiro ou Falso. Se o segundo parâmetro for verdadeiro, o 
nome do dia da semana será exibido abreviadamente. O formato geral é o seguinte: 
WeekDayName(número_do_dia, abreviar) 
Considere o exemplo abaixo: 
MsgBox “Dia da semana: “ & WeekDayName(6,False) 
O resultado deste comando, está indicado na Figura a seguir: 
 
Funções para Cálculos matemáticos 
Veremos as principais funções para efetuar cálculos matemáticos. Na Tabela a seguir, 
temos a descrição das principais funções matemáticas, disponíveis no 
VBA. 
Funções para cálculos matemáticos. 
Abs(n) 
Retorna o valor absoluto (sem sinal), do número n. 
Atn(n) 
 
 
 
224 VBA – Funções para conversão de Tipos– Parte 1 
Retorna o valor do arco, cuja tangente é o número n. O número n deve ser fornecido em 
radianos. 
Cos(n) 
Retorna o coseno do número n. O número n deve ser fornecido em radianos. 
Exp(n) 
Retorna o número e (logaritmo neperiano e=2,7183), elevado no número n. 
Log(n) 
Retorna o logaritmo natural de um número n. Rnd(n) Retorna um número aleatório entre 0 
e 1. 
Sgn(n) 
Retorna um número inteiro, indicando o sinal do número n. Retorna de1 para números 
negativos e 1 para números positivos. 
Sin(n) 
Retorna o seno do número n. O número n deve ser fornecido em radianos 
Sqr(n) 
Retorna a Raiz quadrada do número n. 
Tan(n) 
Retorna a tangente do número n. O número n deve ser fornecido em radianos. 
 
 
 
225 VBA – Funções para conversão de Tipos– Parte 1 
 
 
Dica 
 
Para converter graus para radianos, multiplique o valor em graus por pi 
(3.14), e divida o resultado por 180. 
 
Alguns exemplos de utilização das funções matemáticas. 
Abs(-2350) Retorna 2350 
Atn(2) Retorna 1,1071487177 
Cos(0) Retorna 1 
Exp(1) Retorna 2,71828182845905 
Log(1000) Retorna 6,90775527898214 
Rnd*10 Gera um número aleatório entre 0 e 10 
Sgn(-235) Retorna 1, pois o número é negativo 
Sin(0) Retorna 0 
Sqr(400) Retorna 20 
Tan(0) Retorna 0 
 
 
 
226 Estudo avançado da linguagem VBA 
Estudo avançado da linguagem VBA 
Nas lições desse módulo vamos estender um pouco mais o nosso estudo sobre a 
linguagem VBA. Nas lições do módulo anterior, tratamos sobre os fundamentos básicos 
do VBA. 
Modelo de Objetos do Excel VBA: 
O modelo do objeto do Microsoft Excel Visual Basic for Applications inclui muitas 
alterações que foram feitas para suportar recursos novos e aprimorados no Excel. Para 
proporcionar compatibilidade com versões anteriores, os componentes substituídos foram 
deixados ocultos ao invés de serem removidos. Isso significa que eles não aparecem no 
Pesquisador de objeto por padrão, mas o código antigo que usa os componentes ocultos 
ainda funcionará corretamente sem modificação. Ao gravar código novo, entretanto, você 
deve usar apenas novos objetos, propriedades e métodos. 
As principais alterações de recurso feitas no Visual Basic for Applications no Microsoft 
Excel XP estão listadas a seguir: 
ADO - Activex Data Objects 
É um novo conjunto de objetos para acesso a fontes de dados externas, tais como o 
Microsoft Access ou o SQL Server 2000. Você pode, até mesmo, criar uma planilha do 
Excel que acessa dados diretamente do Mainframe. Fornece uma 
interface de acesso direto a banco de dados. O ADO agora é o método de acesso de 
dados preferido no Excel. Nas versões anteriores utilizava-se um outro conjunto de 
objetos, conhecido como DAO œ Data Access Objects. 
Arquivo de texto e consultas da Web 
Fornece novas melhorias de importação de arquivo texto e consulta de página da Web. 
Assinatura digital 
 Fornece uma forma de determinar se o projeto do Visual Basic for Applications da pasta 
de trabalho foi assinada digitalmente. É muito utilizado quando trabalhamos com planilhas 
 
 
 
227 Estudo avançado da linguagem VBA 
e/ou aplicações criadas com o Excel, onde o quesito segurança e identificação é um fator 
fundamental. 
Edição em várias línguas 
Fornece interface do usuário de várias línguas aprimorada e recursos de edição e 
tratamento de texto fonético melhorado para suporte a idioma do leste asiático. 
Exibe rótulos de unidade: Fornece rótulos de unidade para tornar os rótulos de marcas de 
escala em eixos de gráfico fáceis de serem lidos. Representa um rótulo de unidade em 
um eixo no gráfico especificado. Os rótulos de unidade são úteis para a criação de 
gráficos com valores altos – por exemplo, milhões ou bilhões. Você pode tornar o gráfico 
mais legível usando um único rótulo de unidade em vez de números grandes em cada 
marca de escala. 
Fontes de dados OLAP para relatórios de tabela dinâmica e gráfico 
dinâmico: 
Fornece um meiopara exibir e analisar dados de fontes de dados OLAP (Processamento 
Analítico On-line). Para maiores detalhes sobre os recursos de Tabela Dinâmica e Gráfico 
Dinâmico, consulte o Módulo 3. 
Microsoft Office E-mail 
Fornece capacidades integradas de correio eletrônico. Por exemplo, você pode criar um 
código VBA que, de dentro de uma planilha do Excel, envie dados via email, para um ou 
mais endereços eletrônicos. 
Microsoft Office Web Components 
Fornece uma forma de salvar planilhas, gráficos e relatórios de tabela dinâmica como 
páginas interativas da Web. Para saber como usar esses componentes em formulários 
do usuário e em caixas de diálogo, consulte Usar o Microsoft Office Web Components 
em formulários, na Ajuda do Microsoft Excel. 
Relatórios de gráfico dinâmico 
Fornece uma interface para relatórios de gráfico dinâmico, que são baseados em dados 
de relatórios de tabela dinâmica. 
 
 
 
228 Estudo avançado da linguagem VBA 
Salvar para Web e para edição com Office Web 
Fornece recursos para criar páginas da Web, salvar e editar recursos. Além disso, 
fornece uma interface para salvar Microsoft Office Web Components. 
Script de página da Web 
Fornece recursos de script de página da Web para soluções de cliente com base em 
HTML. 
Suplementos do Modelo de objeto de componente (COM): Fornece uma interface de 
usuário consistente na qual os desenvolvedores podem criar suplementos em qualquer 
linguagem de programação que tenha suporte para COM (Microsoft Visual C++, Visual 
J++ e Visual Basic, por exemplo). Por exemplo, você pode querer criar um componente 
onde sejam desenvolvidas funções para validação de CPF, número de Cartão de Crédito 
e assim por diante. Em seguida você pode utilizar esse componente em qualquer planilha 
do Excel. 
Visual Basic For Applications 6.0 
Fornece os recursos de idioma mais recentes, assim como formulários do usuário sem 
modo e suporte para controles ActiveX adicionais. 
Muitas dessas novidades envolvem conceitos avançados de programação, os quais 
serão abordados em curso específico: Desenvolvimento de Aplicações usando o Excel e 
VBA. 
Nas demais lições desse módulo aprenderemos a utilizar os principais objetos que fazem 
parte do modelo de objetos do Excel. Com esses objetos teremos acesso a todo e 
qualquer elemento de uma planilha do Excel, desde os valores em uma ou mais células, 
até comandos de menu. 
Bibliotecas, Objetos, Propriedades, Métodos e Referências 
Nos tópicos anteriores tratamos dos aspectos básicos do VBA. Com os aplicativos do 
Office 
 
 
 
229 Estudo avançado da linguagem VBA 
(Word, Excel, Access e Power Point), temos acesso a um vasto conjunto de Bibliotecas; 
cada biblioteca com dezenas/centenas de objetos, cada objeto com inúmeros métodos, 
propriedades e coleções. Com a utilização dos objetos disponibilizados pelo Office, 
podemos criar soluções bastante sofisticadas. Nesta lição vamos entender exatamente o 
que são e 
como se relacionam, os seguintes itens:Bibliotecas, Objetos, Propriedades, Métodos, 
Coleções. 
Para início de conversa, considere a figura a seguir: 
 
Os diversos objetos disponíveis estão agrupados em Bibliotecas. Uma Biblioteca é um 
conjunto de objetos que são utilizados para uma determinada função/atividade. Por 
 
 
 
230 Estudo avançado da linguagem VBA 
exemplo, todos os objetos para acesso a dados são agrupados em uma biblioteca 
chamada DAO - Data Access Objects. Existe uma outra biblioteca para acesso a dados, 
conhecida como ADO - Activex Data bjects. Existe uma biblioteca com os diversos 
objetos do Excel e assim por diante. Existem dezenas de bibliotecas disponíveis. Isso 
demonstra bem o poder da utilização do VBA em conjunto com os Objetos/Bibliotecas 
disponíveis. 
Em cada Biblioteca estão disponíveis dezenas/centenas de objetos. Cada objeto é 
utilizado para um conjunto de ações específico. Por exemplo: O objeto RecordSet é 
utilizado para acessar dados de uma tabela. Uma vez criado um objeto RecordSet, 
podemos realizar uma série de operações sobre os diversos registros da tabela. 
Cada objeto possui um conjunto de métodos, propriedades e coleções. Um método 
realiza uma operação específica, como por exemplo o método Open, do objeto 
RecordSet. Este método é utilizado para estabelecer a conexão entre um objeto 
RecordSet e um determinado conjunto de Registros. No código VBA, utilizamos a 
seguinte sintaxe: 
NomeDoObjeto.NomeDoMétodo(par1, par2, ..., parn) 
 
Por exemplo, para utilizar o método Open, de um objeto RecordSet chamado rs, 
utilizaríamos a seguinte sintaxe: 
rs.Open("Pedidos") 
 
Uma propriedade descreve uma característica do objeto. Por exemplo, temos uma 
propriedade chamada RecordCount que informa quantos registros existem no objeto 
RecordSet. Por exemplo, para atribuir a variável quantos, o número de registros de um 
objeto RecordSet chamado rs, utilizaríamos o seguinte comando: 
quantos = rs.RecordCount 
Uma coleção é um conjunto de elementos do mesmo tipo. Por exemplo, todo banco de 
dados do Microsoft Access, possui uma coleção chamada Forms. Através desta coleção 
podemos ter acesso a todos os Formulários do banco de dados. Toda planilha do Excel 
tem uma coleção chamada Worksheets. Através dessa coleção temos acesso a todas as 
planilhas de um 
 
 
 
231 Estudo avançado da linguagem VBA 
arquivo do Excel. 
Podemos percorrer todos os elementos de uma coleção, utilizando a estrutura de 
Controle For...Each, que será tratada no próximo tópico. 
A Estrutura For...Each 
A estrutura For...Each é utilizada para "percorrer" todos os elementos de uma coleção. 
Por exemplo, se quisermos percorrer todos os elementos da coleção Forms de um banco 
de dados, exibindo o nome de cada formulário, devemos utilizar a estrutura For/Each, 
para percorrer todos os elementos da coleção Forms, exibindo o nome de cada um dos 
elementos. 
Nota: Nos exemplos de código das próximas lições, veremos o funcionamento da 
estrutura 
For...Each em detalhes. 
Uma visão geral da Biblioteca de Objetos do Excel: 
Na figura a seguir temos uma visão geral da Biblioteca de Objetos do Microsoft Excel. 
 
 
 
232 Estudo avançado da linguagem VBA 
 
 
 
 
Nota 
 
Quando trabalhamos com o VBA, temos que utilizar os nomes dos 
comandos, objetos, funções, métodos e propriedades em inglês. Não 
existe tradução. Por exemplo, se ao invés de Left, usarmos Esquerda 
para o nome da função, será gerado um erro, informando que não existe 
a função Esquerda. 
 
 
 
 
233 Estudo avançado da linguagem VBA 
 
Nas demais lições desse módulo, estudaremos alguns dos principais objetos, da 
Biblioteca de Objetos do Excel. 
Observe que uma biblioteca de objetos forma uma espécie de hierarquia de objetos. Por 
exemplo, um objeto Worksheet somente existe dentro do contexto de um objeto 
Application. Já o próprio objeto Worksheet pode possuir outros objetos, cada objeto com 
os seus métodos e propriedades, conforme indicado na Figura a seguir: 
 
 
 
234 Estudo avançado da linguagem VBA 
 
 
 
Veja que um único objeto da hierarquia de objetos œ Worksheet, é composto de dezenas 
de outros objetos, métodos, propriedades e coleções. É esse grande número de objetos 
que possibilita o acesso a todo e qualquer elemento de uma planilha do Excel, através da 
programação VBA. 
Criando suas próprias funções e procedimentos 
Nas lições do Módulo 5, aprendemos a utilizar as funções prontas, que já fazem parte do 
Excel. Porém podemos criar nossas próprias funções. Neste item, aprenderemos a criar 
nossas próprias funções e Sub-rotinas . O princípio portrás da criação de funções e sub- 
rotinas, é o de reaproveitamento de código e facilidade de manutenção do programa. 
 
 
 
235 Estudo avançado da linguagem VBA 
Imagine que estejamos criando uma planilha para cálculos financeiros, por exemplo, 
depreciação contábil. Vamos supor que em diversos locais, seja necessária a realização 
do cálculo de depreciação. Poderíamos colocar o código/fórmulas que faz o cálculo, em 
cada um dos locais, onde o cálculo seja necessário. Porém esta não é a melhor maneira 
de criarmos nossos programas. Imagine, por exemplo, quando fosse necessário alterar a 
maneira de realizar os cálculos. Teríamos que repassar todos os locais onde o cálculo é 
feito, procurando os pontos onde o código está , e fazer as alterações. 
Para resolver estes problemas, poderíamos criar uma função ou sub-rotina que faz os 
cálculos de depreciação. A função/sub-rotina seria criada dentro de um módulo de 
código do VBA, na própria planilha. Depois, em cada local onde precisamos fazer os 
cálculos, é só chamar a função (ou sub-rotina), para fazer os cálculos. Quando fosse 
necessária a alteração da metodologia de cálculo, era só alterar a função (ou sub-rotina) 
e pronto, os novos cálculos passarão a ser feitos com base na nova metodologia. Isto 
poupa esforço , reduz o número de linhas de código , e facilita a manutenção , além de 
reduzir a possibilidade de erros . Agora é chegada a hora de aprendermos a criar funções 
e sub- rotinas. Estes procedimentos/funções são criados em módulos de código VBA 
associados a planilha. Quando uma destas funções/procedimentos for necessária, basta 
chamar a respectiva função/procedimento que o Microsoft Excel se encarrega de 
localizar a função/procedimento, passar os parâmetros necessários (se for o caso) e 
receber os resultados retornados, caso seja uma função. 
 
 
Nota 
 
Vamos falar um pouco mais sobre o termo Procedimento. Um 
procedimento é um grupo de instruções que pode ser chamado pelo 
nome atribuído ao procedimento. Neste contexto, funções e sub-rotinas, 
são tipos diferentes de procedimentos. 
 
Criando e utilizando Sub-rotinas 
Uma sub-rotina é um grupo de comandos que podem ser executados, simplesmente 
através da chamada do nome da Sub-rotina. Podemos passar um ou mais argumentos 
 
 
 
236 Estudo avançado da linguagem VBA 
para uma Sub-rotina. Quando uma sub-rotina é chamada, a execução desloca-se para 
dentro da Sub- rotina, depois de executados todos os comandos dentro da Sub-rotina, a 
execução do código continua, com o comando seguinte ao que chamou a Sub-rotina. 
A sintaxe para a criação de uma Sub-rotina é a seguinte: 
 
Sub Nome_da_Sub-rotina(argumento1, argumento2, ..., argumenton) 
 
Comando1 
 
Comando2 
 
... 
 
Comandon 
 
End Sub 
 
Uma Sub-rotina pode, ou não, conter argumentos. Caso sejam necessários argumentos, 
estes serão passados quando a Sub-rotina for chamada, e devem ser passados, na 
mesma ordem em que foram definidos. 
 
 
Dica 
 
Quando você criar Sub-rotinas, procure utilizar nomes que descrevam a 
função da Sub-rotina. Com isso você torna o entendimento do código 
mais fácil para quem for utilizá- lo. 
 
Considere o seguinte exemplo de declaração de uma Sub-rotina: 
 
 
 
237 Estudo avançado da linguagem VBA 
Sub Calcula_imposto(salario, desconto, extras) 
 
Comando1 
 
Comando2 
 
... 
 
Comandon 
 
End Sub 
Neste caso, declaramos uma rotina chamada Calcula_imposto, a qual espera receber 3 
parâmetros: salario, desconto e extras. Os parâmetros devem ser fornecidos nesta 
ordem, para que a Sub-rotina funcione corretamente. 
Uma vez criada a Sub-rotina, podemos chamá-la, simplesmente digitando o nome da 
Sub- rotina, ou utilizando a palavra Call , mais o nome da Sub-rotina. Nos exemplos 
abaixo, temos dois métodos de chamada da Sub-rotina Calcula_imposto: 
Calcula_imposto(1500,23,125) 
 
ou 
 
Call Calcula_imposto(1500,23,125) 
 
Observe que os parâmetros são passados dentro do parênteses. 
 
Também poderíamos declarar uma Sub-rotina, sem parâmetros. Neste caso posso 
simplesmente não utilizar os parênteses após o nome da Sub-rotina, ou utilizar um par de 
parênteses, sem nada dentro, conforme indicado abaixo: 
 
 
 
238 Estudo avançado da linguagem VBA 
Sub Nome_da_Sub-rotina 
 
Comando1 
 
Comando2 
 
... Comandon 
 
End Sub 
 
Ou 
 
Sub Nome_da_Sub-rotina( ) 
 
Comando1 
 
Comando2 
 
... Comandon 
 
End Sub 
 
Por exemplo, poderíamos criar uma Sub-rotina que exibe uma Caixa de mensagem com 
a Data do sistema e a hora, no Formato indicado na Figura a seguir: 
 
Poderíamos criar todos os comandos necessários, para exibir a hora e a data neste 
formato, cada vez que a exibição fosse necessária. Porém é mais prático criar uma Sub-
rotina que faz este trabalho. Cada vez que precisarmos exibir a data e a hora neste 
formato, é só chamarmos a Sub-rotina. 
Na Listagem a seguir temos o código da Sub-rotina exibe_data_hora (), a qual faz a 
exibição da data e da hora, no formato proposto pela Figura anterior. 
 
 
 
239 Estudo avançado da linguagem VBA 
Listagem A Sub-rotina exibe_data_hora 
Listagemœ A Sub-rotina exibe_data_hora 
Sub exibe_data_hora 
 
es_atual=Month(Date()) 
 
es_nome=MonthName(mes_atual,False) 
 
mensagem = "Ano atual: " & Year(Date()) & Chr(13) 
 
mensagem = mensagem & "Mês atual: " & mes_nome & Chr(13) 
 
mensagem = mensagem & "Hoje é dia: " & Day(Date())& Chr(13) 
 
mensagem = mensagem & Chr(13) & "***************" & Chr(13)& Chr(13) 
 
hora_atual = Hour(Time()) 
 
minuto_atual = Minute(Time()) 
 
secundo_atual = Second(Time()) 
 
mensagem = mensagem & "Hora atual: " & hora_atual & chr(13) 
 
mensagem = mensagem & "Minuto atual: " & minuto_atual & chr(13) 
 
mensagem = mensagem & "Secundo atual: " & secundo_atual 
 
MsgBox mensagem 
 
End Sub 
Agora, cada vez que for necessário exibir a data e a hora nos formatos do exemplo, basta 
chamar a Sub-rotina exibe_data_hora, utilizando um dos seguintes comandos: 
Call exibe_data_hora 
 
ou 
 
exibe_data_hora 
 
 
 
240 Estudo avançado da linguagem VBA 
 
Criando e utilizando Funções 
Uma Função é um grupo de comandos que podem ser executados, simplesmente através 
da chamada do nome da Função. Podemos passar um ou mais argumentos para uma 
Função. Quando uma Função é chamada, a execução desloca-se para dentro da 
Função, depois de executados todos os comandos dentro da Função, a execução do 
código continua, com o comando seguinte ao que chamou a Função. A diferença da 
Função para a Sub-rotina, é que a Função sempre retorna um ou mais valores para o 
comando que a chamou. 
A sintaxe para declaração de uma Função é a seguinte: 
 
Function Nome_da_Função(argumento1, argumento2, ..., argumenton) As Tipo 
 
Comando1 
 
Comando2 
 
... Comandon 
 
End Function 
 
Uma Função pode, ou não, conter argumentos. Caso sejam necessários argumentos, 
estes serão passados quando a Função for chamada, e devem ser passados, na mesma 
ordem em que foram definidos. 
 
 
Dica 
 
: Quando você criar Função, procure utilizar nomes que descrevam os 
objetivos da Função. Com isso você torna o entendimento do código 
 
 
 
241 Estudo avançado da linguagem VBA 
mais fácil para quem for utilizá-lo. 
Considere o seguinte exemplo de declaração de uma Função: 
Função Converte_para_dolar(valor_em_real, cotacao_dolar) 
 
Comando1 
 
Comando2 
 
... ComandonEnd Function 
 
Neste caso, declaramos uma Função chamada Converte_para_dolar, a qual espera 
receber 2 parâmetros: um valor em real e a cotação do dólar. 
Uma vez criada a Função, devemos chamá-la, em um comando de atribuição, isto é, o 
valor retornado pela função, deve ser atribuído a uma variável, ou exibido através de um 
comando como MsgBox. No exemplo abaixo, estamos atribuindo o valor de retorno da 
função, à variável valor_dolar. 
valor_dolar = Converte_para_dolar (1500,1.81) 
Também poderíamos exibir o valor retornado pela função, utilizando o comando MsgBox, 
conforme indicado a seguir: 
MsgBox “Valor em dólar: ” & Converte_para_dolar (1500,1.81) 
Observe que os parâmetros são passados dentro dos parênteses, e na mesma ordem 
definida quando da criação da função. 
Também poderíamos declarar uma Função, sem parâmetros. Neste caso posso 
simplesmente não utilizar os parênteses após o nome da Função, ou utilizar um par de 
parênteses, sem nada dentro, conforme indicado abaixo: 
Function Nome_da_Função 
 
 
 
242 Estudo avançado da linguagem VBA 
 
Comando1 
 
Comando2 
 
... Comandon 
 
End Function 
 
ou 
 
Function Nome_da_Função( ) 
 
Comando1 
 
Comando2 
 
... Comandon 
 
End Function 
 
Por exemplo, vamos criar uma função que converte um valor de um ângulo de Graus 
para Radianos. Depois utilizaremos a função dentro de um laço For...Next, para exibir o 
valor em radianos, para os ângulos de 0 à 20 graus. 
No exemplo a seguir temos o código onde foi criada a função CRad, que converte um 
valorem graus para radianos. Depois utilizamos um laço for para exibir, através de uma 
Caixa de mensagem os valores em radianos, para os ângulos de 0 à 20 graus. 
Criação da função CRad. 
Function CRad(valor_graus) 
 
CRad = (valor_graus*3.14)/180 
 
End Function 
 
Agora utilizamos a função dentro do laço For/Next. 
For i=0 to 20 
 
 
Mensagem = Mensagem & “Ângulo:” & i & “Valor em Radianos: “ 
 
Mensagem = Mensagem & FormatNumber(CRaid(i),5) & Chr(13) 
 
 
 
243 Estudo avançado da linguagem VBA 
 
Next 
 
Msgbox Mensagem 
Observe que dentro da função, atribuímos a variável CRad um determinado valor. É isso 
que caracteriza uma função. Dentro do código da função, devemos atribuir a uma 
variável que tenha o mesmo nome da função, um determinado valor. Este valor é que 
será o valor de retorno da função. 
Cabe salientar o uso da função FormatNumber, dentro do laço For. A função 
FormatNumber é utilizada para formatar a maneira como um número é exibido. Neste 
caso, utilizamos a função FormatNumber, para limitar o número de casas decimais, a 5 
casas depois da vírgula. 
Em cada "passada" do laço For...Next, chamamos a função CRad(i), para fazer a 
conversão de Graus para radianos. O Valor retornado pela função CRad, é passado para 
a função FormatNumber, para ser formatado com apenas 5 casas decimais. 
Trabalhando com o objeto Application 
Conforme visto na lição anterior, o principal objeto da biblioteca de objetos do Excel é o 
objeto Application. Uma pasta de trabalho (arquivo .xls) e as diversas planilhas dessa 
pasta existem dentro do contexto de um objeto Application. 
O objeto Application tem, ao todo, 218 propriedades e métodos. Quando estamos 
trabalhando dentro de uma planilha do Excel, não é preciso a criação explícita de um 
objeto Application. Por exemplo, se dentro do código, quisermos fazer referência a uma 
determinada célula, não precisamos criar um objeto Application, depois um Workbook, 
depois um Worksheet para, finalmente, poder acessar as células de uma planilha (objeto 
Worksheet). Ao invés disso, podemos fazer referência direta a célula desejada. Com isso 
o Excel supõe que estamos trabalhando com a instância atual do Excel, dentro da pasta 
de trabalho atual (arquivo .xls), dentro de uma das suas planilhas, o que é bastante 
razoável. Apenas teríamos que criar toda essa hierarquia de objetos, se quiséssemos 
fazer referência a uma célula de uma planilha de uma pasta de trabalho externa. 
Nessa lição aprenderemos a utilizar o objeto Application. Nas próximas lições 
estudaremos os objetos Workbook e Worksheet, para fazer referência a células das 
planilhas, da pasta de trabalho atual. 
 
 
 
244 Estudo avançado da linguagem VBA 
O objeto Application 
Representa todo o aplicativo Microsoft Excel. O objeto Application contém: 
Definições e opções para o aplicativo como um todo (muitas das opções da caixa de 
diálogo Opções (menu Ferramentas), por exemplo, são configuradas através das 
propriedades do objeto Application). 
Métodos que retornem objetos do nível mais alto, como ActiveCell, ActiveSheet e assim 
por diante. 
Usar o objeto Application 
Usamos o objeto Application quando temos que configurar alguma opção do Excel, como 
as opções disponíveis no menu Ferramentas -> Opções, ou quando temos que acessar 
dados de uma planilha externa. Nesse último caso criamos um objeto Application. Em 
seguida, criamos um objeto Workbook associado com o arquivo .xls do qual queremos 
acessar dados. Em seguida usamos a coleção Worksheets e o objeto Range para 
acessar os dados do referido arquivo. Com isso é possível, a partir de uma planilha do 
Excel, fazer cálculos que envolvem dados de diversos arquivos .xls diferentes. 
Vamos considerar alguns exemplos de código que usa o objeto Application. 
Criar um objeto Application e usar o método Open para abrir uma planilha: No exemplo 
de código a seguir, temos o uso do objeto Application para abrir um arquivo do Excel que 
está gravado no disco rígido: 
Set xl = CreateObject("Excel.Sheet") 
 
xl.Application.Workbooks.Open "C:\ExcelAvançado\ExApp.xls" 
 
Nesse exemplo usamos a função CreateObject para criar um objeto do tipo Excel.Sheet, 
que na prática é uma planilha do Excel: 
Set xl = CreateObject("Excel.Sheet") 
Em seguida usamos o método Open, da coleção Workbook do objeto Application, para 
acessar a planilha C:\ExcelAvançado\ExApp.xls. 
 
 
 
245 Estudo avançado da linguagem VBA 
Exibindo uma caixa para que o usuário selecione a planilha a ser aberta: Nesse exemplo 
vamos apresentar um trecho de código, o qual exibe uma janela para que o usuário 
selecione o arquivo a ser aberto. Uma vez feita a seleção, a planilha é aberta, usando o 
método Open, usado no exemplo anterior. 
Set xl = CreateObject("Excel.Sheet") 
 
ArqParaAbrir = Application.GetOpenFilename("Planilhas do Excel(*.xls), 
*.xls") 
 
If ArqParaAbrir <> False Then 
 
MsgBox "A seguinte planilha será carregada: " & ArqParaAbrir 
 
xl.Application.Workbooks.Open ArqParaAbrir 
 
End If 
Vamos comentar, em detalhes, o exemplo anterior. 
Usamos a função CreateObject para criar um objeto do tipo planilha do Excel, objeto esse 
que é associado com a variável xl: 
Set xl = CreateObject("Excel.Sheet") 
Agora utilizamos o método GetOpenFilename, do objeto Application. Esse método exibe 
a caixa de diálogo Abrir (a mesma caixa que é exibida quando você seleciona o 
comando Arquivo -> Abrir). O nome do arquivo selecionado nessa janela, será atribuído à 
variável ArqParaAbrir. Será atribuído o caminho completo, por exemplo 
C:\ExcelAvançado\Teste.xls. 
ArqParaAbrir = Application.GetOpenFilename("Planilhas do Excel (*.xls), 
*.xls") 
 
Quando essa linha for executada, será exibida a janela a seguir: 
 
 
 
 
246 Estudo avançado da linguagem VBA 
 
 
Observe que são exibidos apenas os arquivos .xls da pasta de trabalho atual. No 
exemplo da figura são exibidos os arquivos da pasta C:\ExcelAvançado, porque recém 
abri um arquivo dessapasta. Normalmente são exibidos, por padrão, os arquivos da 
pasta Meus documentos. Somente são exibidos os arquivos .xls, porque definimos esse 
parâmetro na chamada do método GetOpenFilename("Planilhas do Excel (*.xls), *.xls"). 
Você seleciona um arquivo e clica no botão Abrir. Em seguida o código testa se 
realmente algum arquivo foi selecionado: 
If ArqParaAbrir <> False Then 
Caso algum arquivo tenha sido selecionado, o nome do arquivo será exibido: 
MsgBox "A seguinte planilha será carregada: " & ArqParaAbrir 
conforme indicado na figura a seguir: 
 
 
 
 
 
247 Estudo avançado da linguagem VBA 
E o arquivo selecionado será aberto no Excel. 
Existem dezenas de métodos e propriedades do objeto Application. Você encontra 
exemplos de cada método e propriedade na Ajuda do Excel. No curso de Programação 
VBA e Criação de Aplicativos como Excel, estudaremos mais o objeto Application. 
Trabalhando com o Objeto Workbook 
No tópico anterior fizemos uma pequena introdução ao objeto Application. Vimos que 
esse objeto é utilizado para fazer referência a uma pasta de trabalho do Excel (arquivo 
.xls). Uma vez tendo feito referência à pasta de trabalho, podemos acessar os elementos 
dessa pasta de trabalho, tais como as várias planilhas e, dentro de cada planilha, os 
valores contidos nas células da respectiva planilha. 
Para termos acesso a uma planilha específica, utilizamos os objetos Workbook e 
Worksheet. Nessa lição veremos alguns exemplos de uso do objeto Workbook. Também 
falaremos sobre a coleção Workbook. Na próxima lição trataremos do objeto WorkSheet 
e da respectiva coleção Worksheets. 
O objeto Workbook e a coleção Workbooks 
O objeto Workbook representa uma pasta de trabalho do Microsoft Excel. O objeto 
Workbook é um membro da coleção Workbooks. A coleção Workbooks contém todos os 
objetos Workbook atualmente abertos no Microsoft Excel. 
Vamos apresentar alguns exemplos simples de uso do objeto Workbook, nos quais 
ilustramos o uso das seguintes propriedades do objeto Workbook: 
 Propriedade Workbooks 
 Propriedade ActiveWorkbook 
 Propriedade ThisWorkbook 
 Propriedade Workbooks 
Use Workbooks(índice), onde índice é o número de índice ou o nome da pasta de 
trabalho, para retornar um único objeto Workbook. O exemplo seguinte ativa a pasta de 
trabalho um. 
Workbooks(1).Activate 
 
 
 
248 Estudo avançado da linguagem VBA 
O número de índice denota a ordem na qual as pastas de trabalho foram abertas ou 
criadas. Workbooks(1) é a primeira pasta de trabalho criada e 
Workbooks(Workbooks.Count) é a última criada, onde a propriedade Count retorna o 
número de pastas de trabalho (arquivos .xls) abertas. A ativação de uma pasta de 
trabalho não altera seu número de índice. Todas as pastas de trabalho são incluídas na 
contagem do índice, mesmo que elas estejam ocultas. 
A propriedade Name retorna o nome da pasta de trabalho. Você não pode definir o nome 
usando essa propriedade; se você precisa alterar o nome, use o método SaveAs para 
salvar a pasta de trabalho com um nome diferente. O seguinte exemplo ativa a planilha 
Plan1 na pasta de trabalho chamada "Teste.xls" (a pasta de trabalho precisa já estar 
aberta no Microsoft Excel). 
Workbooks("Teste.xls").Worksheets("Plan1").Activate 
Para quem não está acostumado com o VBA, pode parecer um pouco estranha essa 
sintaxe. Uma dica é fazer a leitura de trás para frente, ou seja, da direita para a 
esquerda. No nosso exemplo, começando da direita para a esquerda, teríamos a 
seguinte leitura, do comando anterior: 
Ativar (Activate) a planilha cujo nome é Plan1 (Worksheets(―Plan1―), sendo que esta 
planilha está na pasta de trabalho Teste.xls (Workbooks(―Teste.xls―). 
Propriedade ActiveWorkbook: A propriedade ActiveWorkbook retorna a pasta de trabalho 
que está ativa no momento. O exemplo seguinte define o nome do autor da pasta de 
trabalho ativa. 
 
ActiveWorkbook.Author = "José da Silva" 
Propriedade ThisWorkbook: A propriedade ThisWorkbook retorna a pasta de trabalho 
onde há código do Visual Basic sendo executado. Na maioria dos casos, esta é a própria 
pasta de trabalho ativa. Entretanto, se o código do Visual Basic for parte de um 
suplemento, a propriedade ThisWorkbook não retornará a pasta de trabalho ativa. 
Nesse caso, a pasta de trabalho ativa é a pasta de trabalho que está chamando o 
suplemento, enquanto que a propriedade ThisWorkbook retorna a pasta de trabalho do 
suplemento. 
 
 
 
249 Estudo avançado da linguagem VBA 
A coleção Workbooks 
Uma coleção de todos os objetos Workbook que estão no momento abertos no aplicativo 
Microsoft Excel. 
Use a propriedade Workbooks, do objeto Application, para retornar a coleção 
Workbooks. 
O exemplo seguinte fecha todas as pastas de trabalho abertas. 
Workbooks.Close 
Use o método Add para criar uma nova pasta de trabalho vazia e adicioná-la à coleção. 
O exemplo seguinte adiciona uma nova pasta de trabalho vazia ao Microsoft Excel. 
Workbooks.Add 
Use o método Open para abrir um arquivo. Isto cria uma nova pasta de trabalho para o 
arquivo aberto. O exemplo seguinte abre o arquivo Array.xls como uma pasta de trabalho 
somente leitura. 
Workbooks.Open fileName:="array.xls", readOnly:=True 
Vamos ver mais alguns exemplos de código com o objeto Workbook e com a coleção 
Workbooks. 
A propriedade Count: Essa propriedade informa o número de pastas de trabalho 
(arquivos .xls) abertas no momento. No exemplo de código a seguir, usamos essa 
propriedade para exibir uma mensagem que informa quantas pastas estão abertas no 
momento. 
Dim wrkb As Workbooks 
 
Set wrkb = Application.Workbooks 
 
MsgBox "Pastas atualmente abertas: " & wrkb.Count 
 
 
 
250 Estudo avançado da linguagem VBA 
Esse exemplo cria um objeto do tipo Workbooks. Em seguida utilizo a propriedade 
Workbooks, do objeto Application, para associar a variável wrkb com a coleção 
Workbooks da pasta de trabalho onde o código esta sendo executado. Na último linha 
utilizo a propriedade Count para exibir uma mensagem informando o número de 
elementos da coleção Workbooks. Na figura a seguir temos um exemplo da mensagem 
que é gerada, quando esse código é executado: 
 
 
Exibindo o nome de todas as pastas de trabaho abertas o Excel: No exemplo de código a 
seguir, usamos a coleção Workbooks e a estrutura For...Each, para exibir o nome de 
todas as pastas de trabalho, atualmente abertas no Excel: 
Dim pastas As Workbooks 
 
Dim pasta As Workbook 
 
Set pastas = Application.Workbooks 
 
For Each pasta In pastas 
 
MsgBox "Nome da planilha: " & pasta.Name 
 
Next 
Inicialmente criamos duas variáveis, uma do tipo Workbooks (variável pastas) e outra do 
tipo Workbook (variável pasta). Em seguida usamos uma estrutura do tipo For...Each 
para percorrer todos os elementos da coleção Workbooks. A cada passagem da 
estrutura For...Each, exibimos o nome da respectiva pasta. Isso é feito usando a 
propriedade Name, do objeto Workbook. 
A seguir temos uma seqüência de telas que exemplifica a execução desse código: 
 
 
 
 
 
251 Estudo avançado da linguagem VBA 
 
 
 
 
 
Nesse exemplo tínhamos quatro pastas de trabalho abertas. O excel foi percorrendo a 
coleção de pastas abertas (coleção Workbooks) e exibindo o nome da cada elemento da 
coleção (cada Workbook). 
xistem dezenas de métodos e propriedades do objeto Workbook e da coleção 
Workbooks. Você encontra exemplos de cada método e propriedade na Ajuda do Excel. 
No curso de Programação VBA e Criação de Aplicativos como Excel, estudaremos mais o 
objeto Workbook e a coleçãoWorkbooks. 
Trabalhando com o Objeto Worksheet 
O próximo passo é aprendermos a utilizar os objetos que fazem referência a uma planilha 
específica dentro do conjunto de planilhas de uma pasta de trabalho. O objeto Workbook 
representa uma pasta de trabalho (arquivo .xls). Dentro de uma pasta de trabalho, 
podemos ter uma ou mais planilhas, as quais são acessadas usando-se o objeto 
Worksheet e a coleção Worksheets. Esses são os assuntos dessa lição, ou seja: o objeto 
Worksheet e a coleção Worksheets. 
O objeto Worksheet e a coleção Worksheets 
O objeto Worksheet representa uma planilha O objeto Worksheet é um membro da 
coleção Worksheets. A coleção Worksheets contém todos os objetos Worksheet em uma 
pasta de trabalho. 
 
 
 
252 Estudo avançado da linguagem VBA 
Veremos alguns exemplos que utilizam as seguintes propriedades do objeto Worksheet: 
Propriedade Worksheets 
Propriedade ActiveSheet 
Propriedade Worksheets 
Usamos Worksheets(índice), onde índice é número de índice ou nome da planilha, para 
retornar um único objeto Worksheet. O exemplo seguinte oculta a planilha um na pasta 
de trabalho ativa. Nesse exemplo, utilizo a propriedade Visible, do objeto Worksheet. 
Worksheets(1).Visible = False 
O número de índice da planilha denota a posição de uma planilha na barra de guias da 
pasta de trabalho. Worksheets(1) é a primeira planilha (mais à esquerda) na pasta de 
trabalho e Worksheets(Worksheets.Count) é a última. Todas as planilhas são incluídas na 
contagem do índice, mesmo quando estão ocultas. A propriedade Count retorna o 
número de planilhas existentes na pasta de trabalho atual. 
O nome da planilha é mostrado na guia da planilha. Use a propriedade Name para definir 
ou retornar o nome da planilha. Por exemplo, para definir o nome da primeira planilha 
como sendo Débitos, use o seguinte código: 
Dim pastas As Workbooks 
 
Dim pasta As Worksheet 
 
Set pastas = Application.Workbooks 
 
Set pasta = Application.Worksheets(1) 
 
MsgBox "Nome atual da planilha: " & pasta.Name 
 
pasta.Name = "Débitos" 
 
MsgBox "Novo nome da planilha: " & pasta.Name 
Vamos supor que você execute esse código quando o nome da primeira planilha é Plan1. 
Nessa caso, você obterá a seguinte seqüência de mensagens: 
 
 
 
253 Estudo avançado da linguagem VBA 
 
 
 
Iniciamos o exemplo declarando um objeto do Tipo Workbook e um do tipo Worksheet: 
Dim pastas As Workbooks 
Dim pasta As Worksheet 
Em seguida associamos a variável pasta com a pasta de trabalho atual: Set pastas = 
Application.Workbooks Depois associamos a variável pasta com a primeira planilha, da 
pasta de trabalho atual. 
Nesse momento, usamos a coleção Worksheets, do objeto Application, conforme 
indicado a seguir: 
Set pasta = Application.Worksheets(1) 
O próximo passo é exibir o nome atual da primeria planilha, o que no nosso exemplo é 
feito com o comando a seguir: 
MsgBox "Nome atual da planilha: " & pasta.Name 
Agora usamos a propriedade Name para renomear a primeira planilha, conforme indicado 
a seguir: 
pasta.Name = "Débitos" 
Por último exibimos o novo nome da planilha: 
MsgBox "Novo nome da planilha: " & pasta.Name 
 
 
 
254 Estudo avançado da linguagem VBA 
O objeto Worksheet é também um membro da coleção Sheets. A coleção Sheets contém 
todas as planilhas da pasta de trabalho (tanto folhas de gráfico quanto planilhas de 
trabalho). 
Propriedade ActiveSheet 
Quando uma planilha é a planilha ativa, você pode usar a propriedade ActiveSheet para 
referir-se a ela. O exemplo seguinte usa o método Activate para ativar a planilha Plan1, 
define a orientação da página como modo paisagem e, em seguida, imprime a planilha. 
Worksheets("Plan1").Activate 
ActiveSheet.PageSetup.Orientation = xlLandscape ActiveSheet.PrintOut 
Propriedade Visible 
True se o objeto está visível ou False caso contrário. Essa propriedade pode ser utilizada 
para verificar o valor atual ou para defini-lo . Para um gráfico ou planilha, essa 
propriedade pode ser definida como xlVeryHidden. Isso oculta o objeto para que a única 
maneira de você torná-lo novamente visível seja definindo essa propriedade como True 
(o usuário não pode tornar o objeto visível). 
A propriedade Visible para um item de tabela dinâmica é True quando o item está 
atualmente visível na tabela. Se você definir a propriedade Visible de um nome como 
False, o nome não aparecerá na caixa de diálogo Definir nome. Considere o exemplo a 
seguir: 
Este exemplo oculta a planilha Plan1. 
Worksheets("Plan1").Visible = False 
Este exemplo torna Plan1 visível. 
Worksheets("Plan1").Visible = True 
O exemplo de código a seguir torna visível todas as planilhas da pasta de trabalho ativa. 
For Each sh In Sheets 
 
 
 
 
255 Estudo avançado da linguagem VBA 
sh.Visible = True 
 
Next sh 
Propriedade UsedRange 
Essa propriedade retorna um objeto Range representando o intervalo usado na planilha 
especificada. Somente leitura. 
Considere o exemplo a seguir: 
Este exemplo seleciona o intervalo de células usado (onde existem dados), na planilha 
Plan1. 
Worksheets("Plan1").Activate 
ActiveSheet.UsedRange.Select 
 
Existem dezenas de métodos e propriedades do objeto Worksheet e da coleção 
Worksheets. Você encontra exemplos de cada método e propriedade na Ajuda do Excel. 
No curso de Programação VBA e Criação de Aplicativos como Excel, estudaremos mais o 
objeto Worksheet e a coleção Worksheets. 
Trabalhando com o Objeto Range 
Agora vamos descer um pouco mais na hierarquia de objetos do Excel. Já passamos pelo 
objeto Application (que faz referência ao próprio Excel); em seguida pelo objeto 
Workbook (o qual faz referência a uma pasta de trabalho, isto é, a um arquivo .xls); e, na 
última lição, estudamos o objeto Worksheet, o qual faz referência a uma planilha, dentro 
de uma pasta de trabalho. 
O próximo passo é aprendermos a utilizar os objetos que fazem referência a uma célula 
ou faixa de células, dentro de uma planilha.O objeto Workbook representa uma pasta de 
trabalho (arquivo .xls). Dentro de uma pasta de trabalho, podemos ter uma ou mais 
planilhas, as quais são acessadas usando-se o objeto Worksheet e a coleção 
Worksheets. 
Dentro de uma planilha, usamos o objeto Range para acessar uma célula ou faixa de 
células da planilha. Esse é o assunto dessa lição, ou seja: o objeto Range. 
 
 
 
256 Estudo avançado da linguagem VBA 
 
 
" 
O objeto Range 
O objeto Range representa uma célula, uma linha, uma coluna, uma seleção de células 
contendo um ou mais blocos contíguos de células ou um intervalo 3D. 
Estudaremos as seguintes propriedades do objeto Range: 
Propriedade Range 
Propriedade Cells 
Range e Cells 
Propriedade Offset 
Método Union 
Propriedade Range 
Use Range(argumento), onde argumento nomeia o intervalo, para retornar um objeto 
Range representando uma única célula ou um intervalo de células. O exemplo seguinte 
atribui o valor da célula A1 para a célula A5. 
Worksheets("Plan1").Range("A5").Value = 
Worksheets("Plan1").Range("A1").Value 
O exemplo seguinte preenche o intervalo A1:H8 com números randômicos (aleatórios), 
definindo a fórmula para cada célula do intervalo. Quando usada sem um qualificador de 
objeto (um objeto à esquerda do ponto), a propriedade Range retorna um intervalo da 
planilha ativa. Se a planilha ativa não for uma planilha de trabalho, o método falhará. Use 
o método Activate para ativar uma planilha antes de usar a propriedade Range sem um 
qualificador de objeto explícito. 
Worksheets("Plan1").Activate 
Range("A1:H8").Formula= "=rand() 
 
O exemplo seguinte limpa o conteúdo do intervalo chamado "Criteria". 
 
 
 
257 Estudo avançado da linguagem VBA 
Worksheets(1).Range("criteria").ClearContents 
Se você usar um argumento dex texto para o endereço do intervalo, você terá que 
especificar o endereço em notação de estilo A1 (você não poderá usar a notação de 
estilo L1C1, onde L1 significa Linha 1 e C1 significa Coluna 1). 
Propriedade Cells: 
Use Cells(linha, coluna) onde linha é o índice da linha e coluna é o índice da coluna, para 
retornar uma única célula. O exemplo seguinte define o valor da célula A1 como 24. 
Worksheets(1).Cells(1, 1).Value = 24 
O exemplo seguinte define a fórmula para a célula A2. 
ActiveSheet.Cells(2,1).Formula = "=sum(B1:B5)" 
Embora você também possa usar Range("A1") para retornar a célula A1, pode haver 
ocasiões em que a propriedade Cells seja mais conveniente porque você pode usar uma 
variável para a linha ou coluna. O exemplo seguinte cria cabeçalhos de coluna e linha 
na planilha Plan1. Observe que após a planilha ser ativada, a propriedade Cells pode ser 
usada sem uma declaração explícita de planilha (ela retorna uma célula da planilha 
ativa). 
 
Worksheets("Plan1").Activate 
 
For theYear = 1 To 5 
Cells(1, theYear + 1).Value = 1990 + theYear 
Next theYear 
 
For theQuarter = 1 To 4 
Cells(theQuarter + 1, 1).Value = "Q" & theQuarter 
Next theQuarter 
 
 
 
 
 
258 Estudo avançado da linguagem VBA 
 
 
t 
Apesar de você poder usar funções de cadeia de caracteres do VBA para alterar as 
referências de estilo A1, é muito mais fácil (e é uma prática de programação muito 
melhor) usar a notação Cells(1, 1). 
Use expressão.Cells(linha, coluna), onde expressão é uma expressão que retorne um 
objeto Range, e linha e coluna são relativas ao canto superior esquerdo do intervalo, para 
retornar parte de um intervalo. O exemplo seguinte define a fórmula para a célula C5. 
Worksheets(1).Range("C5:C10").Cells(1, 1).Formula = "=rand()" 
 
Propriedade Offset 
 
Use Offset(linha, coluna), onde linha e coluna são os deslocamentos de linha e coluna, 
para retornar um intervalo em um deslocamento especificado de um outro intervalo. O 
exemplo seguinte seleciona a célula três linhas abaixo e uma coluna à esquerda da 
célula do canto superior esquerdo da seleção atual. Você não pode selecionar uma célula 
que não esteja na planilha ativa, portanto, você precisa ativar primeiro a planilha. 
Worksheets("Plan1").Activate 
Selection.Offset(3, 1).Range("A1").Selec 
 
Método Union: 
Use Union(intervalo1, intervalo2, ...) para retornar intervalos de várias áreas – isto é, 
intervalos compostos de dois ou mais blocos contíguos de células. O exemplo seguinte 
cria um objeto definido como a união de intervalos A1:B2 e C3:D4 e, em seguida, 
seleciona o intervalo definido. 
Dim r1 As Range, r2 As Range, myMultiAreaRange As Range 
Worksheets("Plan1").Activate 
Set r1 = Range("A1:B2") 
Set r2 = Range("C3:D4") 
Set myMultiAreaRange = Union(r1, r2) 
myMultiAreaRange.Select 
Vamos apresentar mais alguns exemplos do uso da propriedade Cells, a qual é a 
propriedade mais utilizada do objeto Range. 
 
 
 
259 Estudo avançado da linguagem VBA 
Este exemplo define o tamanho da fonte para a célula C5 de planilha Plan1 como 14 
pontos. 
Worksheets("Plan1").Cells(5, 3).Font.Size = 14 
Este exemplo limpa a fórmula na célula um da planilha Plan1: 
Worksheets("Plan1").Cells(1).ClearContents 
Este exemplo percorre as células A1:J4 da planilha Plan1. Se uma célula contiver um 
valor menor que 0,001, o exemplo substituirá esse valor por 0 (zero). 
For rwIndex = 1 to 4 
For colIndex = 1 to 10 
 If Worksheets("Plan1").Cells(rwIndex, colIndex).Value < .001 Then 
Worksheets("Plan1").Cells(rwIndex, colIndex) .Value = 0 
 End If 
Next colIndex 
Next rwIndex 
Este exemplo define o estilo da fonte para as células A1:C5 da planilha Plan1 como 
itálico. 
Worksheets("Plan1").Activate 
Range(Cells(1, 1), Cells(5, 3)).Font.Italic = True 
Este exemplo varre uma coluna de dados chamada "myRange". Se uma célula tiver o 
mesmo valor que a célula imediatamente acima, o exemplo exibirá o endereço da célula 
que contém os dados duplicados. 
Set r = Range("myRange") 
For n = 1 To r.Rows.Count 
 
If r.Cells(n, 1) = r.Cells(n + 1, 1) Then 
 
MsgBox "Dados duplicados em: " & r.Cells(n + 1, 1).Address 
 
End If 
 
Next n 
 
 
 
260 Estudo avançado da linguagem VBA 
Existem dezenas de métodos e propriedades do objeto Range. Você encontra exemplos 
de cada método e propriedade na Ajuda do Excel. No curso de Programação VBA e 
Criação de Aplicativos como Excel, estudaremos mais o objeto Range. 
O Objeto Application – Propriedades e Métodos – Parte I 
Vamos iniciar o estudo das principais propriedades do objeto Application. Esse estudo 
seguirá na Próxima lição. 
Propriedade ThisWorkBook 
Essa propriedade retorna um objeto Workbook representando a pasta de trabalho na qual 
o código da macro atual está sendo executado. É do tipo Somente leitura, ou seja, essa 
propriedade somente pode ser usada para fazer referência ao Workbook atualmente 
carregado e não para definir o Workbook ativo. 
Use essa propriedade para referir-se à pasta de trabalho que contém o código de sua 
macro. 
Por exemplo, use código tal como o seguinte para ativar uma folha de caixa de diálogo 
armazenada em sua pasta de trabalho do suplemento. 
ThisWorkbook.DialogSheets(1).Show 
Essa propriedade só pode ser usada de dentro do Microsoft Excel. Você não pode usá-la 
para acessar uma pasta de trabalho a partir de um outro aplicativo, como por exemplo o 
Microsoft Access. 
O exemplo a seguir fecha a pasta de trabalho que contém o código de exemplo. 
Alterações na pasta de trabalho, caso existam, não são salvas. 
ThisWorkbook.Close SaveChanges:=False 
A propriedade ThisWorkbook retorna uma referência a um objeto Workbook, o qual faz 
referência a pasta de trabalho atual. Podemos utilizar todas as propriedades do objeto 
Workbook (que estudaremos em detalhes a partir da lição 14) para obter informações 
sobre a pasta de trabalho atual. No exemplo a seguir, usamos a propriedade FullName 
para obter o caminho completo (por exemplo C:\ExcelAvancado\Teste.xls) da pasta de 
trabalho atual: 
 
 
 
261 Estudo avançado da linguagem VBA 
MsgBox “Você está trabalhando no seguinte arquivo: “& 
ThisWorkbook.FullName 
 
Propriedade ActiveCell: 
Essa propriedade retorna um objeto Range representando a célula ativa da janela ativa (a 
janela visível) ou da janela especificada. Se a janela não estiver exibindo uma planilha, 
essa propriedade falhará. É do tipo Somente leitura, ou seja, somente pode ser usada 
para retornar a célula ativa e não para ativar uma determinada célula. 
Quando você não especifica um qualificador de objeto, essa propriedade retorna a célula 
ativa da janela ativa. 
Tenha cuidado de distinguir entre célula ativa e seleção. A célula ativa é uma única 
célula dentro da seleção atual. A seleção pode conter mais de uma célula, mas somente 
uma é a célula ativa. 
Todas as expressões seguintes retornam a célula ativa, sendo todas equivalentes. 
ActiveCell Application.ActiveCell 
ActiveWindow.ActiveCell Application.ActiveWindow.ActiveCell Exemplos da 
propriedade ActiveCell: 
Este exemplo usa uma caixa de mensagem para exibir o valor da célula ativa. Como a 
propriedade ActiveCell falha se a planilha ativa não for uma planilha de trabalho, o 
exemplo ativa a planilha Plan1 antes de usar a propriedade ActiveCell. 
Worksheets("Plan1").ActivateMsgBox ActiveCell.Value 
Este exemplo altera a formatação da fonte da célula ativa. 
Worksheets("Plan1").Activate ActiveCell.Font.Bold = True 
ActiveCell.Font.Italic = True 
 
 
 
262 Estudo avançado da linguagem VBA 
Propriedade ActiveSheet 
Essa propriedade retorna um objeto representando a planilha ativa (a planilha visível) da 
pasta de trabalho ativa ou na janela ou pasta de trabalho especificada. Retorna Nothing 
se não houver planilha ativa. Somente leitura. 
Se você não especificar um qualificador de objeto, essa propriedade retornará a planilha 
ativa da pasta de trabalho ativa. 
Se uma pasta de trabalho aparece em mais de uma janela, a propriedade ActiveSheet 
poderá ser diferente em janelas diferentes. 
Exemplo da propriedade ActiveSheet: 
Este exemplo exibe o nome da planilha ativa. 
MsgBox "O nome da planilha ativa é: " & ActiveSheet.Name 
Propriedade Calculation 
Essa propriedade Retorna ou define o modo de cálculo. Pode ser uma das seguintes 
constantes 
 xlCalculation 
 xlCalculationAutomatic 
 xlCalculationManual 
 xlCalculationSemiautomatic. 
Exemplo da propriedade Calculation: 
Este exemplo faz o Microsoft Excel calcular pastas de trabalho antes de elas serem 
salvas em disco. 
Application.Calculation = xlCalculateManual 
 
Application.CalculateBeforeSave = True 
 
 
 
263 Estudo avançado da linguagem VBA 
Este exemplo define o campo de dados no relatório de tabela dinâmica em Plan1 para 
calcular a diferença a partir do campo base, define o campo base com o campo chamado 
"ORDER_DATE" e define o item base com o item chamado "5/16/89". 
Worksheets("Plan1").Range("A3").PivotField.Calculation = xlDifferenceFrom 
Worksheets("Plan1").Range("A3").PivotField.BaseField = "ORDER_DATE" 
Worksheets("Plan1").Range("A3").PivotField .BaseItem = "5/16/89" 
 
Na próxima lição veremos mais algumas propriedades do objeto Application e iniciaremos 
o estudo dos principais métodos desse objeto. 
Propriedade DefaultFilePath 
Essa propriedade retorna ou define o caminho padrão que o Microsoft Excel usa ao abrir 
arquivos. String de leitura e gravação. Por padrão é a pasta Meus documentos, ou seja, 
quando você seleciona o comando Arquivo -> Salvar ou Arquivo -> Abrir, por padrão, é 
acessada a pasta Meus documentos. 
Exemplo da propriedade DefaultFilePath: 
Este exemplo exibe o atual caminho de arquivo padrão. 
MsgBox "O caminho padrão é: " & Application.DefaultFilePath 
Propriedade DefaultSaveFormat: 
Essa propriedade retorna ou define o formato padrão para salvar arquivos. Para obter 
uma lista de constantes válidas, consulte a propriedade FileFormat. Do tipo Long de 
leitura e gravação. Na tabela a seguir temos uma lista de constantes válidas para essa 
propriedade: 
 
 
 
264 Estudo avançado da linguagem VBA 
 
Dependendo do idioma da sua versão do Excel, algumas dessas constantes podem não 
estar disponíveis. 
Exemplo da propriedade DefaultSaveFormat: 
Este exemplo define o formato padrão para salvar arquivos. 
Application.DefaultSaveFormat = xlExcel4Workbook 
Propriedade RecentFiles 
Essa propriedade retorna uma coleção RecentFiles representando a lista de arquivos 
usados recentemente. 
Exemplo da propriedade RecentFiles: 
Este exemplo define como 6 o número máximo de arquivos da lista de arquivos usados 
recentemente. 
 
 
 
265 Estudo avançado da linguagem VBA 
Application.RecentFiles.Maximum = 6 
Principais Métodos do método Application: Vamos iniciar o estudo dos principais 
métodos do objeto Application. Esse estudo seguirá na Próxima lição. 
Método InputBox 
Esse método exibe uma caixa de diálogo para entrada pelo usuário e retorna as 
informações inseridas na caixa de diálogo. 
Sintaxe: Expressão.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, 
Type) expressão : É obrigatória e deve ser uma expressão que retorne um objeto 
Application. 
Prompt: String obrigatória. A mensagem a ser exibida na caixa de diálogo. Pode ser uma 
seqüência, um número, uma data ou um valor Boolean (o Microsoft Excel converte o valor 
automaticamente para uma String antes dele ser exibido). 
Title: Variant opcional. O título da caixa de entrada. Se esse argumento for omitido, o 
título padrão será "Entrada". 
Default: Variant opcional. Especifica um valor que aparecerá na caixa de texto quando a 
caixa de diálogo for inicialmente exibida. Se esse argumento for omitido, a caixa de texto 
será deixada vazia. Esse valor pode ser um objeto Range. 
Left: Variant opcional. Especifica uma posição x para a caixa de diálogo em relação ao 
canto superior esquerdo da tela, em pontos. 
Top: Variant opcional. Especifica uma posição y para a caixa de diálogo em relação ao 
canto superior esquerdo da tela, em pontos. 
HelpFile: Variant opcional. O nome do arquivo de Ajuda para essa caixa de entrada. Se 
os argumentos HelpFile e HelpContextID estiverem presentes, um botão Ajuda 
aparecerá na caixa de diálogo. 
HelpContextId: Variant opcional. O número de identificação do contexto do tópico da 
Ajuda em HelpFile. 
 
 
 
266 Estudo avançado da linguagem VBA 
Type: Variant opcional. Especifica o tipo de dados retornado. Se esse argumento for 
omitido, a caixa de diálogo retornará texto. Pode ser um dos valores abaixo ou a soma 
deles. 
 
Valor Significado 
0 Uma fórmula 
1 Um número 
2 Texto (uma seqüência) 
4 Um valor lógico (True ou False) 
8 Uma referência a células, como um objeto Range 
16 Um valor de erro, como #N/D 
64 Uma matriz de valores 
Você pode usar a soma dos valores permitidos para Type. Por exemplo, para uma caixa 
de entrada que possa aceitar tanto texto como números, defina Type como 1 + 2. 
Use InputBox para exibir uma caixa de diálogo simples para que você possa inserir 
informações a serem usadas em uma macro. A caixa de diálogo tem um botão OK e um 
botão Cancelar. Quando você escolhe o botão OK, InputBox retorna o valor inserido na 
caixa de diálogo. Quando você clica no botão Cancelar, InputBox retorna False. 
Quando Type é 0, InputBox retorna a fórmula na forma de texto – por exemplo, 
"=2*PI()/360". Se houver quaisquer referências na fórmula, elas serão retornadas como 
referências de estilo A1. (Use ConvertFormula para fazer a conversão entre estilos de 
referências). 
 
 
 
267 Estudo avançado da linguagem VBA 
Quando Type é 8, InputBox retorna um objeto Range. Você precisa usar a instrução Set 
para atribuir o resultado a um objeto Range, como mostrado no exemplo seguinte. 
Set myRange = Application.InputBox(prompt := "Sample", type := 8) 
Se você não usar a instrução Set, a variável será definida com o valor no intervalo em 
vez do próprio objeto Range. 
Se você usar o método InputBox para pedir uma fórmula ao usuário, você terá que usar a 
propriedade FormulaLocal para atribuir a fórmula a um objeto Range. A fórmula de 
entrada deverá estar no idioma do usuário. 
Exemplo do método InputBox: 
Este exemplo pede um número ao usuário. 
myNum = Application.InputBox("Digite um número:") 
Este exemplo pede ao usuário que selecione uma célula em Plan1. Este exemplo usa o 
argumento Type para assegurar que o valor retornado seja uma referência de célula 
válida 
(um objeto Range). 
Worksheets("Plan1").Activate 
Set myCell = Application.InputBox(prompt:="Select a cell", Type:=8) 
 
Método FindFile 
Esse método exibe a caixa de diálogo Abrir. Sintaxe: 
expressão.FindFile 
expressão: Obrigatória. Uma expressão que retorne um objeto Application. 
 
 
 
268 Estudo avançado da linguagem VBA 
Comentários: Este método exibe a caixa de diálogoAbrir e permite que o usuário abra um 
arquivo. Se um novo arquivo for aberto com sucesso, esse método retornará True. Se o 
usuário cancelar a caixa de diálogo, este método retornará False. 
Este exemplo exibe a caixa de diálogo Abrir. Application.FindFile 
Método GetOpenFilename 
Esse método exibe a caixa de diálogo Abrir padrão e obtém um nome de arquivo do 
usuário sem realmente abrir nenhum arquivo. 
Sintaxe: 
expressão.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, 
MultiSelect) 
expressão: Obrigatória. Uma expressão que retorna um objeto Application. 
FileFilter: Variant opcional. Uma seqüência que especifica critérios de filtragem do 
arquivo. 
Esta seqüência consiste em pares de seqüências de filtro de arquivo seguidas pela 
especificação de arquivo curinga do MS-DOS, com cada parte e cada par separados por 
vírgulas. Cada par separado é listado na caixa de listagem suspensa Arquivos do tipo. 
Por exemplo, a seguinte seqüência especifica dois filtros de arquivo–texto e suplemento: 
"Arquivos de texto (*.txt),*.txt,Arquivos de suplemento (*.xla),*.xla" 
Para usar várias expressões curingas do MS-DOS para um único tipo de filtro, separe as 
expressões curinga com pontos-e-vírgulas; por exemplo, "Arquivos do Visual Basic (*.bas; 
*.txt),*.bas;*.txt". 
Se omitido, o padrão desse argumento será "Todos os arquivos (*.*),*.*". 
FilterIndex: Variant opcional. Especifica os números de índice dos critérios padrão de 
filtragem de arquivo, de 1 até o número de filtros especificado em FileFilter. Se esse 
argumento for omitido ou for superior ao número de filtros presentes, o primeiro filtro de 
arquivo será usado. 
 
 
 
269 Estudo avançado da linguagem VBA 
Title: Variant opcional. Especifica o título da caixa de diálogo. Se esse argumento for 
omitido, o título será "Abrir". 
ButtonText: Variant opcional. Somente para computadores Macintosh. 
MultiSelect: Variant opcional. True para permitir que vários nomes de arquivo sejam 
selecionados. False para permitir que somente um nome de arquivo seja selecionado. O 
valor padrão é False 
Esse método retorna o nome de arquivo selecionado ou o nome fornecido pelo usuário. O 
nome retornado pode incluir uma especificação de caminho. Se MultiSelect for True, o 
valor de retorno será uma matriz dos nomes de arquivo selecionados (mesmo que 
somente um nome de arquivo seja selecionado). Retorna False se o usuário cancelar a 
caixa de diálogo. 
Esse método pode alterar a unidade ou pasta atual. Exemplo do método 
GetOpenFilename: 
Este exemplo exibe a caixa de diálogo Open, com o filtro de arquivo definido para 
arquivos de texto. Se o usuário escolher um nome de arquivo, o código exibirá esse 
nome de arquivo em uma caixa de mensagens. 
fileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt") 
 
If fileToOpen <> False Then 
 
MsgBox "Arquivo selecionado: " & fileToOpen 
End If 
Método SendKeys 
Esse método envia pressionamentos de teclas para o aplicativo ativo. 
Sintaxe 
expressão .SendKeys( Keys , Wait ) 
expressão: Opcional. Uma expressão que retorne um objeto Application . 
 
 
 
270 Estudo avançado da linguagem VBA 
Keys: Variant obrigatória. A tecla ou combinação de teclas que você deseja enviar para o 
aplicativo, na forma de texto. 
Wait: Variant opcional. True para que o Microsoft Excel espere que as teclas sejam 
processadas antes de devolver o controle à macro. False (ou omitido) para continuar a 
executar a macro sem esperar que as teclas sejam processadas. 
Este método coloca os pressionamentos de teclas em uma memória intermediária de 
teclas. Em alguns casos, você precisa chamar esse método antes de chamar o método 
que irá usar os pressionamentos de teclas. Por exemplo, para enviar uma senha para 
uma caixa de diálogo você precisa chamar o método SendKeys antes de exibir a caixa 
de diálogo. 
O argumento Keys pode especificar qualquer tecla única ou qualquer tecla combinada 
com ALT, CTRL ou SHIFT (ou qualquer combinação dessas teclas). Cada tecla é 
representada por um ou mais caracteres, tais como "a" para o caractere a, ou "{ENTER}" 
para a tecla ENTER. 
Para especificar caracteres que não são exibidos quando você pressiona a tecla 
correspondente (por exemplo, ENTER ou TAB), use os códigos listados na tabela 
seguinte. Cada código da tabela representa uma tecla no teclado. 
Tecla Código 
BACKSPACE {BACKSPACE} ou 
{BS} 
BREAK {BREAK} 
CAPS LOCK {CAPSLOCK} 
CLEAR {CLEAR} 
DELETE ou DEL {DELETE} ou {DEL} 
SETA PARA BAIXO {DOWN} 
END {END} 
 
 
 
271 Estudo avançado da linguagem VBA 
ENTER (teclado 
numérico) 
{ENTER} 
ENTER ~ (til) 
ESC {ESCAPE} ou {ESC} 
HELP {HELP} 
HOME {HOME} 
INS {INSERT} 
SETA PARA 
ESQUERDA 
{LEF} 
 
 
 
272 Estudo avançado da linguagem VBA 
NUM LOCK {NUMLOCK} 
PAGE DOWN {PGDN} 
PAGE UP {PGUP} 
RETURN {RETURN} 
SETA PARA DIREITA {RIGHT} 
SCROLL LOCK {SCROLLLOCK} 
TAB {TAB} 
SETA PARA CIMA {UP} 
F1 a F15 {F1} a {F15} 
 
Você também pode especificar teclas combinadas com SHIFT e/ou CTRL e/ou ALT. Para 
especificar uma tecla combinada com uma outra tecla ou teclas, use a tabela seguinte. 
 
TELCA Símbolo código da tecla com: 
SHIFT + (sinal de mais) 
CTRL ^ (circunflexo) 
ALT % (sinal de porcentagem) 
 
Exemplo do método SendKeys: 
Este exemplo usa o método SendKeys para encerrar o Microsoft Excel. 
 
 
 
273 Estudo avançado da linguagem VBA 
Application.SendKeys("%ar") 
 
„%a -> Alt+A -> Abre o menu arquivo. 
„R -> Seleciona o comando Sair. 
Com isso encerramos o estudo dos principais métodos e propriedades do objeto 
Application. 
O Objeto Workbook – Propriedades e Métodos – Parte I 
Nessa lição veremos alguns exemplos de usos práticos do objeto Workbook. Nas Lições 
15 e 16 serão apresentados detalhes sobre alguns dos principais métodos e propriedades 
do objeto Workbook. 
Ativar uma pasta de trabalho 
A Ativação de uma pasta de trabalho pelo uso do método Activate coloca a pasta de 
trabalho na janela ativa. O comando a seguir ativa a pasta de trabalho aberta chamada 
"Contabilidade.xls". Workbooks("Contabilidade.xls").Activate Criar uma nova pasta de 
trabalho: 
Para criar uma nova pasta de trabalho no VBA, você usa o método Add. O exemplo a 
seguir criar uma nova pasta de trabalho. O Microsoft Excel dá automaticamente à pasta 
de trabalho o nome PastaN, onde N é o próximo número disponível. A nova pasta de 
trabalho se torna a pasta de trabalho ativa. 
Workbooks.Add 
 
 
Uma maneira melhor de criar uma nova pasta de trabalho é atribuí-la a uma variável de 
objeto. No exemplo seguinte, o objeto Workbook retornado pelo método Add é atribuído a 
uma variável de objeto, newBook. Em seguida, várias propriedades de newBook são 
definidas. Você pode facilmente controlar a nova pasta de trabalho usando a variável de 
objeto newBook. 
Set newBook = Workbooks.Add 
 
„ Agora a variável newBook é do tipo Workbook 
 
„ Podemos utilizar todas as propriedades e métodos 
 
 
 
 
274 Estudo avançado da linguagem VBA 
„ do objeto Workbook para configurar a pasta de trabalho 
 
„ newBook 
 
newBook.Title = "1995 Sales" 
newBook.Subject = "Sales" 
newBook.SaveAs filename:="95Sales.xls" 
Abrir uma pasta de trabalho 
Quando você abre uma pasta de trabalho usando o método Open, ela se torna um 
membro da coleção Workbooks. O procedimento seguinte abre uma pasta de trabalho 
chamada MyBook.xls localizada na pasta chamada "MyFolder" na unidade C. 
Workbooks.Open("C:\MyFolder\MyBook.xls") Referir-sea planilhas pelo número de 
índice: 
Um número de índice é um número seqüencial atribuído a uma planilha, com base na 
posição de sua guia de planilha (contando da esquerda para a direita) entre planilhas do 
mesmo tipo. O exemplo seguinte usa a propriedade Worksheets para ativar a planilha um 
da pasta de trabalho ativa. 
Worksheets(1).Activate 
Se você desejar trabalhar com todos os tipos de planilha (planilhas, gráficos, módulos e 
folhas de caixa de diálogo), use a propriedade Sheets. O procedimento seguinte ativa a 
planilha quatro na pasta de trabalho. 
Sheets(4).Activate 
Observação A ordem dos índices pode ser alterada se você mover, adicionar ou excluir 
planilhas. 
Referir-se a planilhas por nome: 
Você pode identificar planilhas pelo nome usando as propriedades Worksheets e Charts. 
As instruções seguintes ativam várias planilhas na pasta de trabalho ativa. 
Worksheets("Sheet1").Activate 
Charts("Chart1").Activate 
DialogSheets("Dialog1").Activate 
 
 
 
275 Estudo avançado da linguagem VBA 
Você pode usar a propriedade Sheets para retornar uma planilha, gráfico, módulo ou 
folha de caixa de diálogo; a coleção Sheets contém todos estes. O exemplo seguinte 
ativa a planilha chamada "Ghart1" na pasta de trabalho ativa. 
Sheets("Chart1").Activate 
Observação: Os gráficos incorporados em uma planilha são membros da coleção 
ChartObjects, enquanto que gráficos existentes em suas próprias folhas pertencem à 
coleção Charts. 
Salvar documentos como páginas da Web 
No Microsoft Excel, você pode salvar uma pasta de trabalho, planilha, gráfico, intervalo, 
consulta de tabela, relatório de gráfico dinâmico, área de impressão ou intervalo 
AutoFilter como uma página da Web. Você também pode editar arquivos HTML 
diretamente no Excel. 
Salvar um documento como uma página da Web é o processo de criar e salvar um 
arquivo HTML e quaisquer arquivos de suporte. Para fazer isso, use o método SaveAs, 
como mostrado no exemplo seguinte, que salva a pasta de trabalho ativa como 
C:\Reports\myfile.htm. 
ActiveWorkbook.SaveAs Filename:="C:\Reports\myfile.htm", 
FileFormat:=”xlHTML” 
Personalizar a página da Web 
Esse comando deve ser digitado todo em uma única linha. Caso você tenha que fazer 
quebra de linha, deve ser utilizado o caractere de sublinhado no final da linha. 
Você pode personalizar a aparência, conteúdo, suporte de navegador, suporte de edição, 
formatos gráficos, resolução de tela, organização de arquivo e codificação do documento 
HTML definindo propriedades do objeto DefaultWebOptions e do objeto WebOptions. O 
objeto DefaultWebOptions contém propriedades que afetam todo o aplicativo. Essas 
configurações são sobrescritas por quaisquer configurações de propriedade de pasta de 
trabalho que tenham os mesmos nomes (contidas no objeto WebOptions). 
 
 
 
276 Estudo avançado da linguagem VBA 
Após definir os atributos, você pode usar o método Publish para salvar a pasta de 
trabalho, planilha, gráfico, intervalo, tabela de consulta, relatório de gráfico dinâmico, 
área de impressão ou intervalo AutoFilter de uma página da Web. O exemplo seguinte 
define várias propriedades de aplicativo e define a propriedade AllowPNG da pasta de 
trabalho ativa, sobrescrevendo a configuração padrão do aplicativo. Finalmente, o 
exemplo salva o intervalo como "C:\Reports\1998_Q1.htm." 
Application.DefaultWebOptions.RelyonVML = True 
 
Application.DefaultWebOptions.AllowPNG = True 
 
Application.DefaultWebOptions.PixelsPerInch = 96 
 
ActiveWorkbook.WebOptions.AllowPNG = False 
 
PublishObjects(1).FileName = "C:\Reports\1998_Q1.htm" 
 
PublishObjects(1).Publish 
Você também pode salvar os arquivos diretamente em um servidor Web. O exemplo 
seguinte salva um intervalo de células em um servidor Web, dando à página da Web o 
endereço de URL http://example.homepage.com/annualreport.htm. 
ActiveWorkbook.WebOptions 
 
WebOptions.RelyonVML = True 
 
WebOptions.PixelsPerInch = 96 
 
ActiveWorkbook..PublishObjects(1) 
 
PublishObjects(1).FileName = 
"http://example.homepage.com/annualreport.htm" 
 
PublishObjects(1).Publish 
 
Abrir um documento HTML em Microsoft Excel 
Para editar um documento HTML no Excel, abra primeiro o documento usando o 
métodoOpen. O exemplo seguinte abre o arquivo "C:\Reports\1997_Q4.htm" para edição. 
Workbooks.Open Filename:="C:\Reports\1997_Q4.htm" 
Depois de abrir o arquivo, você pode personalizar a aparência, conteúdo, suporte de 
navegador, suporte de edição, formatos gráficos, resolução de tela, organização de 
 
 
 
277 Estudo avançado da linguagem VBA 
arquivo e codificação do documento HTML definindo as propriedades dos objetos 
DefaultWebOptions e WebOptions. 
Propriedade Application: 
Quando usada sem um qualificador de objeto, essa propriedade retorna um objeto 
Application representando o aplicativo Microsoft Excel. Quando usada com um 
qualificador de objeto, essa propriedade retorna um objeto Application representando o 
criador do objeto especificado (você pode usar essa propriedade com um objeto de 
Automação OLE para retornar o aplicativo desse objeto). Somente leitura. 
Exemplo da propriedade Application: 
Este exemplo exibe uma mensagem sobre o aplicativo que criou a variável myObject. 
Set myObject = ActiveWorkbook 
 
If myObject.Application.Value = "Microsoft Excel" Then 
 
MsgBox "É um objeto do Microsoft Excel!!!" 
 
Else 
 
MsgBox "Não é um objeto do Microsoft Excel!!!" 
 
End If 
 
Propriedade Count 
Retorna o número de objetos da coleção. Long somente leitura. 
Comentários: Para fontes de dados OLAP, somente os campos visíveis em um relatório 
de tabela dinâmica são contados. 
Exemplo da propriedade Count: 
Este exemplo exibe o número de colunas na faixa selecionada na planilhaSheet1. O 
código também testa se a seleção é de área múltipla; se for o caso, o código fará um loop 
pelas áreas da seleção de múltiplas áreas. 
Worksheets("Sheet1").Activate 
 
 
 
278 Estudo avançado da linguagem VBA 
areaCount = Selection.Areas.Count 
If areaCount <= 1 Then 
MsgBox "A seleção contém " & Selection.Columns.Count & " colunas." 
Else 
For i = 1 To areaCount 
MsgBox "Area " & i & " da selção contém " & _ Selection.Areas(i).Columns.Count 
& " colunas." Next i 
End If 
Este exemplo faz do último caractere da célula A1 um caractere sobrescrito. 
n = Worksheets("Sheet1").Range("A1").Characters. Count 
 
Worksheets("Sheet1").Range("A1").Characters(n, 1).Font.Superscript = True 
 
Propriedade Item (coleção Workbooks) 
Retorna um único objeto Workbook de uma coleção Workbooks. Sintaxe: 
expressão.Item(Index) 
expressão: Obrigatória. Uma expressão que retorne um objeto Workbooks. Index : 
Variant obrigatória. O nome ou número de índice da pasta de trabalho. Exemplo da 
propriedade Item (coleção Workbooks): 
 
Este exemplo define a variável pt com a pasta de trabalho de myaddin.xla. 
 
 
 
 
279 Estudo avançado da linguagem VBA 
Set wb = Workbooks.Item("myaddin.xla") 
 
Propriedade Parent 
 
Retorna o objeto pai do objeto especificado. Somente leitura. Exemplo da propriedade 
Parent: 
Este exemplo exibe o nome do gráfico que contém myAxis. 
Set myAxis = Charts(1).Axes(xlValue) MsgBox myAxis.Parent.Name 
Método Add (coleção Workbooks): 
Cria uma nova pasta de trabalho. A nova pasta de trabalho se torna a pasta de trabalho 
ativa. Retorna um objeto Workbook. 
 
Sintaxe: 
expressão.Add(Template) 
expressão: Obrigatória. Uma expressão que retorne um objeto Workbooks. 
Template: Variant opcional. Determina como a nova pasta de trabalhoé criada. Se esse 
argumento for uma cadeia de caracteres especificando o nome de um arquivo do 
Microsoft Excel existente, a nova pasta de trabalho será criada com o arquivo 
especificado como um modelo. Se esse argumento for uma constante, a nova pasta de 
trabalho conterá uma única 
 
 
 
280 Estudo avançado da linguagem VBA 
planilha do tipo especificado. Pode ser uma das seguintes constantes XlWBATemplate: 
xlWBATChart, xlWBATExcel4IntlMacroSheet, xlWBATExcel4MacroSheet ou 
xlWBATWorksheet. Se esse argumento for omitido, o Microsoft Excel criará uma nova 
pasta de trabalho com algumas planilhas em branco (o número de planilhas é definido 
pela propriedade SheetsInNewWorkbook). 
Comentários: Quando o argumento Template especifica um arquivo, o nome do arquivo 
pode incluir um caminho. 
Exemplo do método Add (coleção Workbooks): Este exemplo cria uma nova pasta de 
trabalho. Workbooks.Add 
Método Close: 
 
Fecha o objeto. A coleção Workbooks usa a Sintaxe 1. Os objetos Window e 
Workbook usam a Sintaxe 2. 
Sintaxe 1: expressão.Close Sintaxe 2: 
expressão.Close(SaveChanges, FileName, RouteWorkbook) 
expressão: Obrigatória. Uma expressão que retorne um objeto da lista Relativo a. 
SaveChanges: Variant opcional. Se não houver alterações na pasta de trabalho, esse 
argumento será ignorado. Se houver alterações na pasta de trabalho e ela aparecer em 
outras janelas abertas, esse argumento será ignorado. Se houver alterações na pasta de 
trabalho, mas ela não aparecer em qualquer outra janela aberta, esse argumento 
especificará se as alterações devem ser salvas, como mostrado na tabela seguinte. 
Valores 
True: Salva as alterações na pasta de trabalho. Se ainda não houver um nome de arquivo 
associado à pasta de trabalho, FileName será usado. Se FileName for omitido, o usuário 
será solicitado a fornecer um nome de arquivo. 
 
 
 
281 Estudo avançado da linguagem VBA 
False: Não salva as alterações nesse arquivo. 
Omitido: Exibe uma caixa de diálogo perguntando ao usuário se as alterações devem ser 
salvas. 
FileName: Variant opcional. As alterações são salvas sob este nome de arquivo. 
RouteWorkbook: Variant opcional. Se a pasta de trabalho não precisar ser encaminhada 
para o próximo destinatário (se não tiver lista de circulação ou se já tiver sido 
encaminhada), este argumento será ignorado. Caso contrário, o Microsoft Excel 
encaminhará a pasta de trabalho como mostrado na tabela seguinte. 
Valores: 
True: Envia a pasta de trabalho para o próximo destinatário. 
 
 
 
282 Estudo avançado da linguagem VBA 
False: Não envia a pasta de trabalho. 
Omitido: Exibe uma caixa de diálogo perguntando ao usuário se a pasta de trabalho deve 
ser enviada. 
Comentários: 
O fechamento de uma pasta de trabalho a partir do VBA não causa a execução de 
macros Auto_Fechar da pasta de trabalho. Use o método RunAutoMacros para executar 
as macros de fechamento automático. 
Método Open: 
Abre uma pasta de trabalho. Sintaxe: 
expressão.Open(FileName, UpdateLinks, ReadOnly, Format, Password, 
WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, 
Converter, AddToMRU) 
expressão: Obrigatória. Uma expressão que retorne um objeto Workbooks ou RecentFile. 
FileName: String obrigatória. O nome de arquivo da pasta de trabalho a ser aberta. 
UpdateLinks: Variant opcional. Especifica o modo pelo qual são atualizados os vínculos 
do arquivo. Se este argumento for omitido, o usuário será solicitado a especificar como os 
vínculos serão atualizados. Caso contrário, este argumento será um dos valores listados 
na tabela seguinte. 
Valor Significado 
0 Não atualiza nenhuma referência 
1 Atualiza as referências externas, mas não as remotas 
2 Atualiza as referências remotas, mas não as externas 
 
 
 
283 Estudo avançado da linguagem VBA 
3 Atualiza tanto as referências externas quanto as remotas 
Se o Microsoft Excel estiver abrindo um arquivo em formato WKS, WK1 ou WK3 e o 
argumento UpdateLinks for 2, o Microsoft Excel irá gerar gráficos a partir dos gráficos 
anexados ao arquivo. Se o argumento for 0, nenhum gráfico será criado. 
ReadOnly: Variant opcional. True para abrir a pasta de trabalho em modo somente 
leitura. 
Format: Variant opcional. Se o Microsoft Excel estiver abrindo um arquivo de texto, este 
argumento especificará o caractere delimitador, conforme mostrado na tabela seguinte. 
Se este argumento for omitido, o delimitador atual será usado. 
Valor Delimitador 
1 Tabulações 
2 Vírgulas 
3 Espaços 
4 Ponto-e-vírgulas 
5 Nada 
6 Caractere personalizado (consulte o argumento Delimiter) 
Password: Variant opcional. Uma seqüência de caracteres que contenha a senha 
obrigatória para se abrir uma pasta de trabalho protegida. Se esse argumento for omitido 
e a pasta de trabalho exigir uma senha, o usuário será solicitado a fornecê-la. 
 
 
 
284 Estudo avançado da linguagem VBA 
WriteResPassword: Variant opcional. Uma seqüência de caracteres que contenha a 
senha necessária para gravar em uma pasta de trabalho de gravação reservada. Se este 
argumento for omitido e a pasta de trabalho requerer uma senha, o usuário será 
solicitado a fornecê-la. 
IgnoreReadOnlyRecommended: Variant opcional. True para que o Microsoft Excel não 
exiba a mensagem de recomendação somente leitura (se a pasta de trabalho foi salva 
com a opção Recomendável somente leitura). 
Origin: Variant opcional. Se o arquivo for um arquivo de texto, este argumento indicará 
qual a sua origem (para que as páginas de código e o retorno de carro/alimentação de 
linha 
(CR/LF) possam ser mapeados corretamente). Pode ser uma das seguintes constantes 
XlPlatform: xlWindows ou xlMSDOS. Se este argumento for omitido, o sistema 
operacional atual será usado. 
Delimiter: Variant opcional. Se o arquivo for um arquivo de texto e o argumento Format for 
6, este argumento será uma seqüência de caracteres que especificará o caractere a ser 
usado como delimitador. Por exemplo, use Chr(9) para tabulações, use "," para vírgulas, 
use 
";" para ponto-e-vírgulas ou use um caractere personalizado. Somente o primeiro 
caractere da seqüência é usado. 
Editable: Variant opcional. Se o arquivo for um suplemento do Microsoft Excel 4.0, este 
argumento será True para abrir o suplemento como uma janela visível. Se este 
argumento for False ou omitido, o suplemento será aberto como oculto e não poderá 
deixar de ser oculto. Esta opção não se aplica a suplementos criados no Microsoft Excel 
5.0 ou posterior. Se o arquivo for um modelo do Excel, True abrirá o modelo especificado 
para edição. False 
abrirá uma nova pasta de trabalho baseada no modelo especificado. O valor padrão é 
False. 
 
 
 
285 Estudo avançado da linguagem VBA 
Notify: Variant opcional. Se o arquivo não puder ser aberto em modo de leitura e 
gravação, este argumento será True para adicionar o arquivo à lista de notificação de 
arquivos. O Microsoft Excel abrirá o arquivo como somente leitura, pesquisará a lista de 
notificação de arquivos e, em seguida, notificar o usuário quando o arquivo tornar-se 
disponível. Se este argumento for False ou omitido, nenhuma notificação será solicitada, 
e qualquer tentativa de abrir um arquivo não disponível irá falhar. 
Converter: Variant opcional. O índice do primeiro conversor de arquivo a experimentar ao 
abrir o arquivo. O conversor de arquivo especificado é experimentado primeiro; se esse 
conversor não reconhecer o arquivo, todos os outros conversores serão usados. O índice 
de conversor compreende os números de linha dos conversores, retornados pela 
propriedadeFileConverters. 
AddToMru: Variant opcional. True para adicionar esta pasta de trabalho à lista de 
arquivos usados recentemente. O valor padrão é False. 
Comentários: 
Se a pasta de trabalho sendo aberta tiver quaisquer macros Auto_Open, estas não serão 
executadas quando você abrir o arquivo a partir do Visual Basic. Se você desejar 
executar a macro Auto_Open, você deverá usar o método RunAutoMacros. 
Exemplo do método Open: Este exemplo abre a pasta de trabalho Analysis.xls e, em 
seguida, executa sua macro Auto_Open. 
Workbooks.Open "ANALYSIS.XLS" 
ActiveWorkbook.RunAutoMacros xlAutoOpen 
 
 
 
286 Worksheet e Range – Propriedades e Métodos – Parte I 
Worksheet e Range – Propriedades e Métodos – Parte I 
Nessa lição e nas próximas duas, veremos alguns exemplos de usos práticos do objeto 
Worksheet e de Range. Também serão apresentados detalhes sobre alguns dos 
principais métodos e propriedades desses objetos. 
Como fazer referência a células e intervalos: 
Uma tarefa comum ao usar o VBA é especificar uma célula ou intervalo de células e, em 
seguida, fazer algo com elas, como inserir uma fórmula ou alterar o formato. Geralmente, 
você pode fazer isso em uma instrução que identifique o intervalo e também altere uma 
propriedade ou aplique um método. 
Um objeto Range no VBA pode ser uma única célula ou um intervalo de células. Os 
tópicos seguintes mostram as maneiras mais comuns de identificar e trabalhar com 
objetos Range. 
Referir-se a células e intervalos usando a notação A1: 
Você pode referir-se a uma célula ou intervalo de células no estilo de referência A1 
usando o método Range. O exemplo seguinte altera o formato das células A1:D5 para 
negrito. 
Workbooks("Book1").Sheets("Sheet1").Range("A1:D5").Font.Bold = True 
A tabela seguinte ilustra algumas referências em estilo A1 usando o método Range. 
 
Referência Significado 
Range("A1") Célula A1 
Range("A1:B5") Células de A1 até B5 
Range("C5:D9,G9:H16") Uma seleção de várias áreas 
 
 
 
287 Worksheet e Range – Propriedades e Métodos – Parte I 
Range("A:A") Coluna A Range("1:1") Linha 1 
Range("A:C") Colunas de A até C 
Range("1:5") Linhas 1 até 5 
Range("1:1,3:3,8:8") Linhas 1, 3 e 8 
Range("A:A,C:C,F:F") Colunas A, C e F 
Referir-se a células usando números de índice: 
Você pode usar a propriedade Cells para referir-se a uma única célula usando números 
de índice de linha e coluna. Essa propriedade retorna um objeto Range representando 
uma única célula. No exemplo seguinte, Cells(6,1) retorna a célula A6 da planilha 
Sheet1. Em seguida, a propriedade Value é definida como 10. 
Worksheets("Sheet1").Cells(6, 1).Value = 10 
A propriedade Cells funciona bem para loop através de um intervalo de células porque 
você pode substituir os números de índice por variáveis, conforme mostrado no exemplo 
seguinte. 
 
Dim counter As Integer 
 
For counter = 1 To 20 
 
Worksheets("Sheet1").Cells(counter, 3).Value = counter 
 
 
 
288 Worksheet e Range – Propriedades e Métodos – Parte I 
 
Next counter 
 
Observação: Se você desejar alterar as propriedades ou aplicar um método a todo um 
intervalo de células de uma só vez, use a propriedade Range. Para obter mais 
informações, consulte Referir-se a células usando notação A1. 
Referir-se a linhas e colunas: 
Use a propriedade Rows ou a propriedade Columns para trabalhar com linhas ou colunas 
inteiras. Essas propriedades retornam um objeto Range representando um intervalo 
decélulas. No exemplo seguinte, Rows(1) retorna a linha um na planilha Sheet1. Em 
seguida, a propriedade Bold do objeto Font do intervalo é definida como True. 
Worksheets("Sheet1").Rows(1).Font.Bold = True 
A tabela seguinte ilustra algumas referências de linha e coluna usando as propriedades 
Rows e Columns. 
 
Referência Significado 
Rows(1) Linha um 
Rows Todas as linhas da planilha 
Columns(1) Coluna um 
Columns("A") Coluna um 
Columns Todas as colunas da planilha 
Para trabalhar com várias linhas ou colunas ao mesmo tempo, crie uma variável de objeto 
e use o método Union, combinando várias chamadas à propriedade Rows ou Columns. O 
 
 
 
289 Worksheet e Range – Propriedades e Métodos – Parte I 
exemplo seguinte altera para negrito o formato das linhas um, três e cinco na planilha um 
da 
pasta de trabalho ativa. 
Worksheets("Sheet1").Activate Dim myUnion As Range 
Set myUnion = Union(Rows(1), Rows(3), Rows(5)) 
 
myUnion.Font.Bold = True 
 
Referir-se a intervalos nomeados: 
Os intervalos são mais fáceis de identificar por nome do que por notação A1. Para 
nomear um intervalo selecionado, clique na caixa de nome na extremidade esquerda da 
barra de fórmulas, digite um nome e, em seguida, pressione ENTER. 
Referir-se a um intervalo nomeado: 
O exemplo seguinte refere-se ao intervalo chamado "MyRange" na pasta de trabalho 
chamada "MyBook.xls". 
 
Range("MyBook.xls!MyRange").Font.Italic = True 
 
O exemplo seguinte se refere ao intervalo específico de planilha chamado 
"Sheet1!Sales" na pasta de trabalho chamada "Report.xls". 
 
 
 
 
290 Worksheet e Range – Propriedades e Métodos – Parte I 
Range("[Report.xls]Sheet1!Sales").BorderAround weight:=xlthin 
 
 
 
291 Worksheet e Range – Propriedades e Métodos – Parte I 
Para selecionar um intervalo nomeado, use o método GoTo, o qual ativa a pasta de 
trabalho 
e a planilha e, em seguida, seleciona o intervalo. Application.Goto 
Reference:="MyBook.xls!MyRange" Selection.ClearContents 
O exemplo seguinte mostra como o mesmo procedimento seria escrito para a pasta 
detrabalho ativa. 
 
Application.Goto Reference:="MyRange" 
Selection.ClearContents 
Realizar loop em células de um intervalo nomeado 
 
O exemplo seguinte faz um loop através de cada célula de um intervalo nomeado usando 
um loop For Each...Next. Se o valor de qualquer célula do intervalo exceder o valor de 
limit, a cor da célula será alterada para amarelo. 
 
Const limit As Integer = 25 
 
For Each c In Range("MyRange") 
If c.Value > limit Then 
c.Interior.ColorIndex = 27 
End If 
 
 
 
292 Worksheet e Range – Propriedades e Métodos – Parte I 
 
Next c 
 
Worksheet e Range – Propriedades e Métodos – Parte II 
 
Referir-se a células relativas a outras células: 
Uma maneira comum de trabalhar com uma célula em relação a uma outra célula é usar 
a propriedade Offset. No exemplo seguinte, o conteúdo da célula que se encontra uma 
linha abaixo e a três colunas da célula ativa na planilha ativa é formatado com 
sublinhado duplo. 
ActiveCell.Offset(1, 3).Font.Underline = xlDouble 
Observação: Você pode gravar macros que usem a propriedade Offset em vez de 
referências absolutas. No menu Ferramentas, aponte para Gravar macro e, em seguida, 
clique em Usar referências relativas. 
Para fazer um loop através de um intervalo de células, use uma variável com a 
propriedade Cells em um loop. O exemplo seguinte preenche as 20 primeiras células da 
terceira coluna com valores entre 5 e 100, incrementados por 5. A variável counter é 
usada como índice de linha para a propriedade Cells. 
Dim counter As Integer 
 
 
 
293 Worksheet e Range – Propriedades e Métodos – Parte I 
 
For counter = 1 To 20 
 
Worksheets("Sheet1").Cells(counter, 3).Value = counter * 5 
 
Next counter 
 
Referir-se a células usando um objeto Range: 
Quando você define uma variável de objeto para um objeto Range, você pode facilmente 
manipular o intervalo usando o nome da variável. 
O exemplo seguinte cria a variável de objeto myRange e, em seguida, atribui a variávelao intervalo A1:D5 de Sheet1 na pasta de trabalho ativa. Instruções subseqüentes 
modificam propriedades do intervalo substituindo o objeto de intervalo pelo nome da 
variável. 
Dim myRange As Range 
Set myRange = Worksheets("Sheet1").Range("A1:D5") 
myRange.Formula = "=RAND()" 
myRange.Font.Bold = True 
Referir-se a todas as células da planilha: 
Quando você aplica a propriedade Cells a uma planilha sem especificar um número de 
índice, 
 
 
 
294 Worksheet e Range – Propriedades e Métodos – Parte I 
o método retorna um objeto Range representando todas as células da planilha. O 
exemplo seguinte limpa o conteúdo de todas as células de Sheet1 na planilha ativa. 
 
Worksheets("Sheet1").Cells.ClearContents 
 
Referir-se a vários intervalos: 
Usando o método apropriado, você pode facilmente referir-se a vários intervalos. Use os 
métodos Range e Union para referir-se a qualquer grupo de intervalos; use a propriedade 
Areas para referir-se ao grupo de intervalos selecionado em uma planilha. 
Usar a propriedade Range: 
Você pode referir-se a vários intervalos com a propriedade Range colocando vírgulas 
entre duas ou mais referências. O exemplo seguinte limpa o conteúdo dos três intervalos 
de Sheet1. 
 
Worksheets("Sheet1").Range("C5:D9,G9:H16,B14:D18").ClearContents 
 
Os intervalos nomeados tornam o uso da propriedade Range mais fácil ao trabalhar com 
vários intervalos. O exemplo seguinte funciona quando todos os três intervalos nomeados 
se encontram na mesma planilha. 
 
Range("MyRange, YourRange, HisRange").ClearContents 
 
 
 
 
295 Worksheet e Range – Propriedades e Métodos – Parte I 
Usar o método Union: 
 
Você pode combinar vários intervalos em um objeto Range usando o método Union. O 
exemplo seguinte cria um objeto Range chamado myMultipleRange, define-o com os 
intervalos A1:B2 e C3:D4 e, em seguida, formata com negrito os intervalos combinados. 
 
 
 
296 Worksheet e Range – Propriedades e Métodos – Parte I 
 
Dim r1, r2, myMultipleRange As Range 
 
Set r1 = Sheets("Sheet1").Range("A1:B2") 
Set r2 = Sheets("Sheet1").Range("C3:D4") 
Set myMultipleRange = Union(r1, r2) 
myMultipleRange.Font.Bold = True 
Usar a propriedade Êreas: 
Você pode usar a propriedade Areas para referir-se ao intervalo selecionado ou à coleção 
de intervalos em uma seleção de várias áreas. O exemplo seguinte conta as áreas da 
seleção. 
Se houver mais de uma área, uma mensagem de aviso será exibida. 
 
If Selection.Areas.Count > 1 Then 
 
MsgBox "A operação não é permitida em uma selação múltipla." 
End If 
Loop através de um intervalo de células 
Ao usar o VBA, você freqüentemente precisa executar o mesmo bloco de instruções em 
cada célula de um intervalo de células. Para fazer isso, você combina uma instrução de 
loop com um ou mais métodos para identificar cada célula, uma de cada vez, e executa a 
operação. 
 
 
 
297 Worksheet e Range – Propriedades e Métodos – Parte I 
Uma maneira de fazer loop através de um intervalo é usar o loop For...Next (descrito no 
Módulo 5) com a propriedade Cells. Usando a propriedade Cells, você pode substituir o 
contador do loop (ou outras variáveis ou expressões) pelos números de índice das 
células. No exemplo seguinte, a variável counter é substituída pelo índice de linha. O 
seguinte exemplo faz um loop através de um intervalo C1:C20, definindo como 0 (zero) 
qualquer número cujo valor absoluto seja menor que 0,01. 
For counter = 1 To 20 
 
Set curCell = Worksheets("Sheet1").Cells(counter, 3) If 
Abs(curCell.Value) < 0.01 Then curCell.Value = 0 
 
Next counter 
 
Uma outra maneira mais fácil de se fazer um loop através de um intervalo é usar um loop 
For Each...Next (descrito no Módulo 5) com a coleção de células retornada pelo método 
Range. O VBA define automaticamente uma variável de objeto para a próxima célula 
cada vez que o loop é executado. O seguinte exemplo faz um loop através do intervalo 
A1:D10, definindo como 0 (zero) qualquer número cujo valor absoluto seja menor que 
0,01. 
For Each c In Worksheets("Sheet1").Range("A1:D10").Cells 
 
 
 
298 Worksheet e Range – Propriedades e Métodos – Parte I 
If Abs(c.Value) < 0.01 Then c.Value = 0 
 
Next 
 
Se você não souber os limites do intervalo pelo qual deseja fazer o loop, você pode 
usar a propriedade CurrentRegion para retornar o intervalo que envolve a célula 
ativa. Por exemplo, o exemplo seguinte, quando executado de uma planilha, faz um 
loop através do intervalo que envolve a célula ativa, definindo como 0 (zero) qualquer 
número cujo valor absoluto seja menor que 0,01. 
For Each c In ActiveCell.CurrentRegion.Cells 
 
If Abs(c.Value) < 0.01 Then c.Value = 0 
 
Next 
 
Selecionar e ativar células 
Quando você trabalha com o Microsoft Excel, você geralmente seleciona uma célula 
ou células e, em seguida, efetua uma ação, como formatar as células ou inserir 
valores nelas. No VBA, normalmente não é necessário selecionar células antes de 
modificá-las. 
Por exemplo, se você desejar inserir uma fórmula na célula D6 usando o Visual Basic, 
você não terá que selecionar o intervalo D6. Você precisa apenas retornar o objeto 
Range e, em seguida, definir a propriedade Formula com a fórmula desejada, 
conforme mostrado no exemplo seguinte. 
Worksheets("Sheet1").Range("D6").Formula = "=SUM(D2:D5)" 
Usar o método Select e a propriedade Selection: 
O método Select ativa planilhas e objetos em planilhas; a propriedade Selection 
retorna um objeto representando a seleção atual na planilha ativa da pasta de 
trabalho ativa. Antes de você poder usar com êxito a propriedade Selection, você 
precisa ativar uma pasta de trabalho, ativar ou selecionar uma planilha e, em seguida, 
selecionar um intervalo (ou outro objeto) usando o método Select. 
O gravador de macro costuma criar macros que usam o método Select e a 
propriedade Selection. O exemplo seguinte foi criado pelo uso do gravador de macro, 
e ilustra como Select e Selection funcionam juntas. 
 
 
 
299 Worksheet e Range – Propriedades e Métodos – Parte I 
Sheets("Sheet1").Select 
 
Range("A1").Select 
 
ActiveCell.FormulaR1C1 = "Name" 
 
Range("B1").Select 
 
ActiveCell.FormulaR1C1 = "Address" 
 
Range("A1:B1").Select Selection.Font.Bold = True 
 
O exemplo seguinte realiza a mesma tarefa sem ativar nem selecionar a planilha ou 
as células. 
 
Worksheets("Sheet1").Range("A1") = "Name" 
Worksheets("Sheet1").Range("B1") = "Address" 
Worksheets("Sheet1").Range("A1:B1").Font.Bold = True 
 
Selecionar células na planilha ativa 
Se você usa o método Select para selecionar células, esteja ciente de que Select só 
funciona na planilha ativa. Se você executar o seu procedimento Sub a partir do 
módulo, o método Select falhará a menos que o seu procedimento ative a planilha 
antes de usar o método Select em um intervalo de células. Por exemplo, o exemplo 
seguinte copia uma linha de Sheet1 para Sheet2 na pasta de trabalho ativa. 
Worksheets("Sheet1").Rows(1).Copy 
Worksheets("Sheet2").Select 
Worksheets("Sheet2").Rows(1).Select 
Worksheets("Sheet2").Paste 
Ativar uma célula dentro de uma seleção 
Você pode usar o método Activate para ativar uma célula dentro de uma seleção. Só 
pode haver uma célula ativa, mesmo quando um intervalo de células é selecionado. O 
exemplo seguinte seleciona um intervalo e, em seguida, ativa uma célula dentro do 
intervalo sem alterar a seleção. 
Worksheets("Sheet1").Activate 
Range("A1:D4").Select 
 
 
 
300 Worksheet e Range – Propriedades e Métodos – Parte I 
Range("B2").ActivateTrabalhar com a célula ativa 
A propriedade ActiveCell retorna um objeto Range representando a célula que está 
ativa. Você pode aplicar qualquer das propriedades ou métodos de um objeto Range à 
célula ativa, como no exemplo seguinte. 
Worksheets("Sheet1").Activate 
 
ActiveCell.Value = 35 
Observação: Você só pode trabalhar com a célula ativa quando a planilha na qual ela 
se encontra é a planilha ativa. 
Mover a célula ativa 
Você pode usar o método Activate para designar qual célula é a célula ativa. Por 
exemplo, o exemplo seguinte torna B5 a célula ativa e, em seguida, a formata com 
negrito. 
Worksheets("Sheet1").Activate 
Worksheets("Sheet1").Range("B5").Activate 
ActiveCell.Font.Bold = True 
Observação: Para selecionar um intervalo de células, use o método Select. Para tornar 
uma única célula a célula ativa, use o método Activate. 
Você pode usar a propriedade Offset para mover a célula ativa. O exemplo seguinte 
insere texto na célula ativa do intervalo selecionado e, em seguida, move a célula ativa 
uma célula para a direita sem alterar a seleção. 
Worksheets("Sheet1").Activate 
Range("A1:D10").Select 
ActiveCell.Value = "Monthly Totals" 
ActiveCell.Offset(0, 1).Activate 
Selecionar as células ao redor da célula ativa 
A propriedade CurrentRegion retorna um intervalo de células delimitado por linhas e 
colunas em branco. No exemplo seguinte, a seleção é expandida para incluir as 
células adjacentes à célula ativa, que contenham dados. Em seguida, esse intervalo é 
formatado com o formato Currency. 
 
 
 
301 UserForm (fomulários em Visual Basic) 
Worksheets("Sheet1").Activate 
ActiveCell.CurrentRegion.Select 
Selection.Style = "Currency" 
UserForm (fomulários em Visual Basic) 
 
Permite-lhe criar as janelas ou caixas de diálogo no seu projeto. Você desenha e 
visualiza controles em um formulário. 
Enquanto estiver desenvolvendo um formulário: 
Cada janela do formulário tem um botão Maximizar, Minimizar e Fechar. 
Você pode exibir a grade do formulário e determinar o tamanho das linhas de grade, 
na guia Geral da caixa de diálogo Opções. 
Utilize os botões da Caixa de ferramentas para desenhar controles no formulário. 
Você pode definir seus controles para alinhar com a grade do seu formulário, a partir 
da guia Geral da caixa de diálogo Opções. 
Criando um Userform 
Para criar uma caixa de diálogo personalizada, é necessário criar um UserForm. Para 
criar um UserForm, clique em UserForm no menu Inserir no Editor do Visual Basic. 
Use a janela Propriedades para alterar o nome, comportamento e aparência do 
formulário. Por exemplo, para alterar a legenda de um formulário, defina a propriedade 
Caption. 
 
 
 
302 UserForm (fomulários em Visual Basic) 
Criar um formulário do usuário 
No menu Inserir no Editor do Visual Basic, clique em UserForm. 
Adicionar controles a um formulário do usuário 
Localize na Caixa de ferramentas o controle que você deseja adicionar e arraste o 
controle para o formulário. 
Configurando as propriedades 
Clique com o botão direito do mouse em um controle no modo de design e clique em 
Propriedades para exibir a janela Propriedades. 
Inicializar propriedades de controle 
Você pode inicializar controles em um procedimento antes de mostrar um formulário, 
ou pode adicionar código ao evento Initialize do formulário. 
Eventos de controle e caixa de diálogo 
Todos os controles têm um conjunto predefinido de eventos. Por exemplo, um botão 
de comando tem um evento Click que ocorre quando o usuário clica no botão de 
comando. Você pode escrever procedimentos de evento que sejam executados 
quando os eventos ocorrem. 
Exibir uma caixa de diálogo personalizada 
Use o método Show para exibir um UserForm. 
Usando valores de controle enquanto o código está sendo executado 
Algumas propriedades podem ser definidas em tempo de execução. As alterações 
feitas na caixa de diálogo pelo usuário são perdidas quando a caixa de diálogo é 
fechada.

Mais conteúdos dessa disciplina