Buscar

Guia de Estudos da Unidade 2 - Programação de Computadores

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação de 
Computadores
UNIDADE 2
1
 PROGRAMAÇÃO DE COMPUTADORES
UNIDADE 2
ApresentAção 
Olá, Caro aluno.
Seja bem-vindo à UNINASSAU EAD. 
Estamos iniciando a segunda unidade da nossa disciplina de Programação de computadores com VBA 
e C, cujo conteúdo já abordamos no vídeo de apresentação da disciplina. Na unidade anterior, vimos o 
que são algoritmos, programas, exemplos e como construir um programa de computador. Vimos também 
a estrutura típica dos algoritmos, como declarar variáveis, como realizar entrada de dados, estruturas de 
seleção e de repetição, tendo como base o Visualg para fixar os conceitos. Por fim, vimos uma pequena 
introdução ao VBA.
Nesta unidade, vamos colocar a mão na massa. Vamos ver como trabalhar com o VBA. Nesta unidade 
veremos:
•	 Tipos de Dados no VBA
•	 Operadores e principais funções matemáticas do VBA
•	 Usando macros no VBA
•	 Interface com o usuário e formulários
Antes de prosseguir com esse texto, leia o capítulo 2 do livro-texto da nossa disciplina. 
Depois disso, volte a este ponto para continuar o nosso estudo.
Agora que você já leu o segundo capítulo do nosso livro-texto, vamos iniciar os nossos estudos. Vamos 
começar abordando os tipos de dados que são usados no VBA.
Vamos lá ?
tipos de dAdos usAdos nA linguAgem VBA
Sabemos que 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. 
2
São várias as vantagens no uso do VBA :
O VBA permite que se faça manipulação de objetos;
O VBA permite criar de funções definidas pelo usuário;
O VBA permite que se faça a definição de condições e controle de fluxo;
E o mais importante: o VBA permite a realização de cálculos complexos e solução 
de problemas que envolvem uma lógica complexa. Com isso, você passa a ter uma 
ferramenta extremamente poderosa e flexível. Em suma, uma excelente ferramenta. 
Da mesma forma que em outras linguagens, o VBA tem seus tipos de dados. Na unidade anterior, vimos 
os tipos de dados normalmente existentes nas mais diversas linguagens de programação. São eles:
•	 Inteiros
•	 Reais
•	 Alfanuméricos ou caracteres
•	 Lógicos 
Vamos recapitular rapidamente:
§	Inteiros: são números positivos ou negativos, sem nada depois da vírgula. Ex: 10
§	Reais: números com fração decimal, ou seja, depois da vírgula. Ex: 10,5
§	Alfanuméricos ou caracteres: qualquer texto. Ex : “Maria”
§	Lógicos: assumem os valores verdadeiro ou falso.
Nos programas de computador, armazenamos valores em espaços de memória que chamamos de “vari-
áveis”. Portanto, as variáveis, como o próprio nome diz, são dados que podem ser alterados a qualquer 
momento dentro de um programa de computador. Uma variável é um espaço na memória do computador 
que é reservado para armazenar um ou mais valores. Fazemos a referência a este espaço utilizando no-
mes. Como o valor armazenado pode variar, na medida em que o código VBA é executado, estas estruturas 
são chamadas de variáveis.
É claro que as variáveis não podem ter qualquer nome, e também devem obedecer a algumas regras. 
Vamos ver que regras são essas:
regras para composição de nomes de variáveis
Todo nome de variável deve começar com uma letra. Podem ser utilizados apenas letras ou números – 
nunca use caracteres especiais. Existem linguagens que permitem isso, como PHP, mas não é o caso do 
VBA.
Também é importante usar o bom senso na hora de declarar variáveis. Se uma variável vai armazenar uma 
altura, o correto é chamá-la de altura, mesmo. Não faz sentido chamá-la de B, C ou X, pois o nome não 
ajudará a identificar a finalidade dessa variável. Use nomes significativos, cuja leitura indique de imediato 
para que aquela variável sirva.
3
As linguagens também possuem comandos chamados de “palavra reservada”. No caso do Visualg, a 
palavra INICIO é reservada. Do mesmo jeito, DIM é uma palavra reservada no VBA. Portanto, não pode 
ser usada como nome de variável. Cada linguagem de programação possui uma lista própria de palavras 
reservadas. Para saber quais são, consulte o guia de comandos daquela linguagem, normalmente dispo-
nível na ajuda da própria linguagem.
Vamos ver agora os tipos de dados utilizados no VBA, bem como os valores que podem ser inseridos neles.
tipos de dados utilizados no VBA e valores permitidos
Tipo Faixa de valores permitidos
Boolean Verdadeiro ou Falso
Integer –32.768 a 32.767
Long –2.147.483.648 a 2.147.483.647
Single 3.402823E38 a 1.401298E45
Double (negativo) –1.79769313486232E308 a –4.94065645841247E-324
Double (positivo) 4.94065645841247E-324 a 1.79769313486232E308
Currency (moeda) –922.337.203.685.477.5808 a 922.337.203.685.477.5807
Date 1/1/100 a 12/31/9999
String Qualquer texto entre aspas
Object Qualquer objeto definido
Variant Qualquer tipo de dados
User defined Definido por usuário 
Já que vimos quais os tipos permitidos, vamos ver agora como são utilizadas e declaradas variáveis no 
VBA. 
declarando variáveis no VBA
No VBA, não é obrigatória a declaração de tipo 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 declarar uma variável no Visualg, você usava “Var”, lembra? Bastava uma cláusula VAR para declarar 
todas as variáveis com seu tipo. No caso do VBA, isso é um pouco diferente. Você vai usar o comando 
“DIM .. AS.
Vamos ver um exemplo.
DIM nome AS String
DIM idade AS integer
DIM Z
Vemos claramente que, na primeira linha, a variável nome é um string, ou seja, vai guardar texto. Já na 
4
segunda linha, vemos que idade é do tipo inteiro (integer), ou seja, vai guardar números inteiros. Mas e 
na terceira linha? 
Colocamos “DIM Z”, mas não colocamos o tipo. Nesse caso, o VBA assume o tipo “variant”, que permite 
vários tipos de dados. O termo Dim é uma abreviação de “dimensão”, e significa que você está alocando 
um espaço, uma dimensão (no sentido de tamanho) da memória. Neste caso, nada impede de um campo 
numérico conter valores de texto ou vice-versa.
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: – Option Explicit.
Assim como no Visualg e em diversas outras linguagens, no VBA É possível declarar inúmeras variáveis 
utilizando apenas uma declaração Dim, basta usar vírgulas. 
Também do mesmo jeito que você pode usar variáveis no VBA, pode também usar constantes, que são 
espaços de memória cujo conteúdo não varia durante a execução do programa. 
Tipicamente, as constantes servem para armazenar valores como a aceleração da gravidade, que é 
constante, ou o número PI. 
operadores Aritméticos
No item anterior, vimos constantes e variáveis. Agora vamos ver os operadores do VBA. Esses 
operadores em nada diferem das outras linguagens, sendo os triviais:
Operador Operação
+ Adição
- Subtração
* Multiplicação
/ Divisão
Repare que a operação de multiplicação é feita com * e não com X. Isso é regra para 
todas as linguagens de programação. Do mesmo modo, a divisão é feita com /. 
Vamos dar uma olhada num código de exemplo de uso desses operadores :
Declaração das variáveis.
Dim a As Integer
Dim b As Integer
Dim som, subtr, divis, mult, intdivs, expo, modul As Double 
a = 25
b = 3
Uso dos operadores aritméticos para efetuar cálculos
Som = a+ b
Subtr = a - b 
Divis = a/b
Mult = a*b
Intdivs = a\b
5
Agora que vimos as operações, vamos abordar as funções do VBA.
Funções no VBA
Assim como temos funções em diversas linguagens, o mesmo acontece no VBA. O VBA tem dezenas de 
funções, mas vamos nos concentrarnas mais utilizadas. 
Para funções maiores detalhes sobre elas, consulte o help disponível no próprio VBA.
Vamos ver agora algumas dessas funções : 
Abs Retorna o valor absoluto de um número.
Array Retorna uma variante contendo um array.
Asc Converte o primeiro caractere de uma string ao 
seu valor ASCII.
Choose Retorna um valor de uma lista de itens.
CurDir Retorna o caminho atual.
Date Retorna a data atual do sistema.
DateAdd Retorna uma data à qual foi acrescentado um 
intervalo de tempo especificado
DateSerial Converte uma data em um número em série.
DateValue Converte uma string em uma data.
Day Retorna o dia do mês a partir de um valor de 
data.
Dir Retorna o nome de um arquivo ou diretório que 
combina com um padrão.
Erl Retorna o número da linha que causou um 
erro.
Err Retorna o número de erro de uma condição de 
erro.
Error Retorna a mensagem de erro que corresponde 
a um número de erro.
Exp Retorna a base do logaritmo natural (e) elevado 
a uma potência.
DatePart Retorna um inteiro contendo a parte especifica-
da de determinação
DateSerial Converte uma data em um número em série.
DateValue Converte uma string em uma data.
Day Retorna o dia do mês a partir de um valor de 
data.
Dir Retorna o nome de um arquivo ou diretório que 
combina com um padrão.
6
Erl Retorna o número da linha que causou um 
erro.
Err Retorna o número de erro de uma condição de 
erro.
Error Retorna a mensagem de erro que corresponde 
a um número de erro.
Exp Retorna a base do logaritmo natural (e) 
elevado a uma potência.
FileLen Retorna o número de bytes de um arquivo.
Fix Retorna a parte inteira de um número.
Format Exibe uma expressão em um formato especial.
GetSetting Retorna o valor de um registro Windows.
Hex Converte de decimal para hexadecimal.
Hour Retorna a parte das horas de um horário.
lnputBox Exibe uma caixa para solicitar uma entrada 
pelo usuário.
lnStr Retorna a posição de uma string dentro de 
outra string.
Lnt Retorna a parte inteira de um número.
lsArray Retorna Verdadeiro se uma variável for um 
array.
lsDate Retorna Verdadeiro se uma expressão for uma 
data.
lsEmpty Retorna Verdadeiro se uma variável não tiver 
sido inicializada.
lsError Retorna Verdadeiro se uma expressão for um 
valor de erro.
lsMissing Retorna Verdadeiro se um argumento opcional 
não foi passado para um procedimento.
lsNull Retorna Verdadeiro se uma expressão não 
contém dados válidos.
lsNumeric Retorna Verdadeiro se uma expressão pode ser 
avaliada como um número.
lsObject Retorna Verdadeiro se uma expressão 
referenciar um objeto OLE Automation.
LBound Retorna o menor subscrito para a dimensão de 
um array.
LCase Retorna uma string convertida para 
minúsculas.
Left Retorna uma string a partir do número de 
caracteres especificados à esquerda dessa 
string.
Len Retorna o número de caracteres de uma string.
7
Log Retorna o logaritmo natural de um número à 
base.
LTrim Retorna uma cópia de uma string, com 
quaisquer espaços à sua esquerda removidos.
Mid Retorna uma string seguindo um número 
especificado de caracteres.
Minute Retorna a parte de minutos de um valor
Replace Substitui uma substring em uma string por 
outra substring.
Right Retorna uma string conforme um número 
especificado de caracteres à sua direita.
Rnd Retorna um número aleatório entre 0 e 1.
RTrim Retorna uma cópia de uma string com 
quaisquer espaços finais removidos.
Second Retorna a parte de segundos de um valor de 
tempo.
Sgn Retorna um número inteiro indicando o sinal do 
número.
Shell Roda um programa executável.
Sin Retorna o seno de um número.
Space Retorna uma string com um número 
especificado de espaços.
Split Divide em partes uma string, usando um 
caractere delimitador.
Sqr Retorna a raiz quadrada de um número.
Str Retorna a representação de um número de 
uma string.
StrComp Retorna um valor indicando o resultado de uma 
comparação de string.
String Retorna um caractere repetido ou string.
Time Retorna o horário atual do sistema.
Timer Retorna o número de segundos desde a meia-
noite.
TimeSerial Retorna o horário em hora, minuto ou segundo 
especificados.
TimeValue Converte uma string a um número serial de 
horário.
Trim Retorna uma string sem espaços em seu início 
ou final.
UBound Retorna o maior subscrito disponível à 
dimensão do array.
UCase Converte uma string para maiúsculas.
Type Retorna um valor indicando o subtipo de uma 
variável.
8
Weekday Retorna um número representando um dia da 
semana.
Year Retorna o ano a partir de um valor de data.
MsgBox Exibe uma caixa de mensagem e (opcionalmen-
te) retorna um valor
Caso você não encontre entre as funções acima o que você necessita, você pode criar 
as suas próprias funções! No VBA, você utiliza o próprio programa para criá-las. Toda 
função deve começar com o código FUNCTION e terminar com END FUNCTION.
Das funções citadas acima, algumas merecem maior atenção. É delas que vamos falar agora.
Funções mAis comumente usAdAs
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. 
Isso é extremamente útil, pois garante que o dado inserido corresponde às nossas especificações.
A sintaxe(forma de escrever) da função IsDate é a seguinte: 
IsDate(NomeDaVariável) ou 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 !“
EndIf
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 ainda 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) 
9
Vamos ver a seguir um pequeno exemplo de utilização da função IsNumeric.
Dim x
 x = “curso de vba - 80” 
 
mensagem = “Valor de x: “ & x &” É numérico ? “ & IsNumeric(x)& Chr(13) 
Vamos analisar o código acima
Na primeira linha, declaramos a variável X sem dizer qual o seu tipo explicitamente. Ou seja, qualquer 
dado pode ser inserido nessa variável. A seguir, inserimos um texto em x, através do comando.
x = “curso de vba - 80” 
ou seja : x não é numérica, é um texto. 
A seguir, temos a linha :
mensagem = “Valor de x: “ & x &” É numérico ? “ & IsNumeric(x)& Chr(13) 
Criamos uma variável mensagem que é composta do teste se x é numérica. Nesse caso, o valor de IsNu-
meric retornará falso.
Vamos ver mais uma função agora.
A função cstr
Essa função é muito útil. A função CStr converte uma variável ou resultado de um expressão, para o 
subtipo String. 
Vamos ver um exemplo abaixo : 
MsgBox CStr(“123” & “ pessoas”) 
Ou seja, é uma função bem simples de usar. Vamos ver mais uma função agora.
A 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: 
10
Chr(65). Este exemplo de uso da função retorna o caractere “A” maiúsculo. 
A 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(“Curso de VBA e C”) 
Nesse exemplo em particular, a função retorna 18.
A função lcase
Em muitas situações, é interessante que o texto inserido pelo usuário seja ajustado. Normalmente, quan-
do inserimos um endereço de email, preferimos que seja em minúsculo. Ocorre que em alguns casos o 
usuário coloca esse texto em maiúsculo. 
Para isso, podemos usara 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. Bem simples e 
funcional.
A 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 repetido. É muito útil, por exemplo, para demarcar 
uma área de tela com caracteres especiais. Vamos ver agora um exemplo de uso dessa função.
Considere o exemplo: 
MsgBox String(35,”*”) 
A função date
Retorna a data corrente do sistema. Não é necessário passar parâmetros para esta função. Considere o 
exemplo abaixo: MsgBox”DatadoSistema:”&Date()
11
A 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”Diadomês:”&Day(Date())
A 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( )) 
A 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êsdoano:”&MonthName(Month(Date))
A função Hour
Recebe como parâmetro uma hora, e retorna um número entre 0 e 23, indicando a hora do dia. O 
formato geral é o seguinte: 
Hour(horário) 
Considere o exemplo abaixo: 
MsgBox “Hora do dia: “ & Hour(Time( )) 
12
A 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( )) 
A função FunçãoWeekday
Recebe como parâmetros uma data, eu m 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”Diadasemana:”&WeekDay(“31/12/1999”) 
A função 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”Diadasemana:”&WeekDayName (6,False)
usAndo mAcros no VBA
Para usar macros no VBA, você tem primeiro que ativar a opção “Desenvolvedor” no Microsoft Word ou 
Excel. Na página 66 do nosso livro-texto você encontra instruções de como fazer isso.
Por qual motivo usamos macros no VBA ? 
Basicamente, é para automatizar ações que seriam utilizadas por usuários das ferramentas Office. 
Ela está acessível na barra “Desenvolvedor”, conforme vemos na página 67 do nosso livro-texto.
http://fmn.bv3.digitalpages.com.br/users/publications/9788543004334/pages/-12
13
A gravação de Macros, como o próprio nome diz, está disponível no botão “Gravar Macros”.
É importante ressaltar que toda macro tem um nome, e esse nome deve ser significativo, representando 
a finalidade da macro. 
As macros possuem uma característica muito interessante : podem ser associadas a uma combinação de 
teclas (comumente chamadas de “teclas de atalho”). Esse atalho pode ser acionado a partir do comando 
CTRL + seguido da combinação de teclas que você escolheu. 
Cada macro criada também pode ser salva em algum diretório. Basta você utilizar a opção “Armazenar 
macro em”, com a qual você escolhe onde sua macro será salva. Por uma questão de organização, é 
interessante que você salve macros com finalidades parecidas nas mesmas pastas.
É interessante saber que você pode acionar uma macro a partir do clique de um botão. 
Na página 71 do nosso livro você pode ver como fazer isso em detalhe. Nosso foco aqui 
é tratar do código dentro da macro. 
Para trabalhar codificando internamente as macros, você deve usar o editor do VBA. 
A tela do editor tem essa aparência :
http://fmn.bv3.digitalpages.com.br/users/publications/9788543004334/pages/75
Basicamente, A tela do editor é dividida em três janelas:
1. Project Explorer.
2. Propriedades.
3. Janela de Programação.
14
O “Project Explorer” é fica no canto superior esquerdo, e é nessa caixa que você encontrará relacionadas 
todas as pastas de trabalho que estão abertas atualmente, e também todos os suplementos. Para exibir o 
código de cada componente, você precisa dar um duplo clique. Ao fazer isso, os códigos serão exibidos na 
grande janela “Programação”, do lado direito da sua tela. Veja abaixo a janela do Project Explorer.
Vemos abaixo mais uma tela do VBA
15
Conforme você pode ver, é possível criar novos módulos em VBA. 
Esses módulos são, efetivamente, as macros. Você pode criar macros de forma auto-
mática, sem programação. No nosso livro-texto, na página 68, há um exemplo de como 
fazer isso. 
No nosso caso, vamos fazer algo mais avançado : vamos criar macros usando o editor do VBA. 
usando macros no editor do VBA
Conforme vimos na página 76 do nosso livro-texto, é possível inserir módulos no 
Project Explorer clicando com o botão direito sobre o projeto.
Isso está disponível no Menu “Inserir”. 
Clique nesse item e, em seguida, opte pelo tipo de módulo de que precisar. Conforme 
vimos, o VB disponibiliza por padrão os seguintes módulos:
Objetos do Microsoft Excel - no Excel, um projeto consiste em módulos de planilha para cada planilha 
na pasta de trabalho e em um único módulo relacionado à Pasta de trabalho.
O código que é ligado diretamente a uma dada planilha, como controles ou eventos de planilha, fica na 
planilha correspondente. Os eventos de pasta de trabalho são colocados no módulo associado à pasta. 
Formulários – são meios através dos quais o sistema pode interagir com os usuários.
Módulos – toda vez que você grava uma macro, o Excel cria sozinho um módulo para colocar o código. 
A maioria dos códigos desenvolvidos fica situado nesses módulos.
Módulos de classe – permitem que os programadores compartilhem entre si fragmentos de códigos sem 
que precisem entender como isso funciona. Isso é extremamente útil no desenvolvimento de sistemas e 
de macros de apoio.
Vamos ver a seguir como podemos nos comunicar com os usuários através dos formulários desenvolvidos 
no VBA.
interFAce com o usuário e Formulários
Praticamente toda linguagem de programação tem meios de se comunicar com o usuário. Comandos de 
entrada e saída realizam esse papel, onde comandos de entrada realizam leituras a partir de algum dado 
dispositivo (teclado, mouse, leitor de código de barras, leitor de digital), processam essa entrada e exibem 
os resultados ao usuário após esse processamento.
Vamos ver agora como o VBA faz isso.
Lá no visualg você usou os comandos LEIA, para entrada, e ESCREVAL para mostrar os dados. 
16
Entrada, em inglês, pode ser traduzida como input. Da mesma forma, as caixas de mensagem são conhe-
cidas como message boxes. O VBA tem ambos os tipos.
 Vamos ver cada uma delas agora. 
Pensando especificamente no VBA para o Excel, o exemplo mais utilizado neste livro 
abrange duas funções, que são utilizadas basicamente para a abertura de caixas de 
diálogo. São elas: MsgBox e a InputBox.
msg Box
Com relação às funções de entrada e saída a que nos referimos, uma das referências no VBA é a MsgBox,. 
Essa função é extremamente útil para exibir informações e receber entradas simplesdo usuário. Em 
diversas outras linguagens encontramos funções bem semelhantes, que exibem caixas muito parecidas 
com a que o VBA faz.
Como ao MsgBox é uma função , ela usa a uma caixa de diálogo para retornar um valor para o usuário. 
Basicamente, a sintaxe da função MsgBox é:
MsgBox(aviso[, botões] [, título])
Na prática, a função MsgBox pode ser usada de duas formas: a primeira é para exibir uma mensagem 
para o usuário. Neste caso, a mensagem retornada por ele – como simplesmente clicar em “OK” ou 
fechar a janela – não é tão importante. A segunda forma é para obter uma resposta direta do usuário, que 
clica em diferentes botões, e já neste caso, a mensagem retornada é fundamental. Vamos ver abaixo um 
exemplo de uso dessa função :
Sub MsgBoxDemo()
MsgBox (“Clique OK para continuar’.), vbInformation , “continuar”
End Sub
Agora vamos ver uma forma de obter dados inseridos pelo usuário.
Função inputBox
 
No VBA, a função InputBox é um recurso importante para que o programa obtenha possa receber 
informações do usuário. Nas demais linguagens também encontramos recurso semelhante. 
Esta informação a ser inserida por um usuário pode ser um valor, uma faixa de endereço, ou uma cadeia 
de caracteres, enfim, qualquer coisa que seja relevante para o programa. Vamos ver como esse comando 
funciona?
Esse também é um comando bastante simples, cuja é:
InputBox (prompt [, title][, default])
 
Com essa função, encerramos o assunto desta unidade. Vamos ver um resumo agora ? 
17
resumo
Terminamos aqui a nossa segunda unidade e nela vimos :
Tipos de Dados no VBA
Operadores e principais funções matemáticas
Usando macros no VBA
Interface com o usuário e formulários
Aproveite para realizar os exercícios de fixação do livro. Insira suas dúvidas nos fóruns da disciplina. 
Para consolidar os seus conhecimentos, releia a unidade 2 do nosso livro-texto e depois responda os 
exercícios no ambiente EAD. Terminando os exercícios, seguiremos para a próxima unidade. Desejamos 
bons estudos a você. 
Até breve !

Continue navegando