Vous êtes sur la page 1sur 12

NOES DE VISUAL

BASIC
APLICADO AO EXCEL
HIDROLOGIA SUBTERRNEA

NOTAS DE AULA

Prof. Jos Eduardo Alamy Filho

1 - INTRODUO
Funo da programao em Engenharia: soluo de
problemas mais complexos, os quais normalmente demandam
clculos repetitivos. maneira moderna de fazer clculos
VBA = Visual Basic for Applications

aplicado aos objetos


do Excel

1.1 PRINCIPAIS OBJETOS DO EXCEL


PLANILHA

sheets(NOME)

CLULAS

cells(linha,coluna)

INTERVALO
de CLULAS

range(cells(1,1),cells(5,2))

GRFICO

chartobjects(NOME)

1.2 PRINCIPAIS AES sobre UM OBJETO


OBJETO.ao
mtodo

SUBSTANTIVO.verbo

EX:

Ativando uma planilha

sheets(plan1).activate

Selecionando uma clula

cells(2,3).select

Limpando o contedo de
uma clula

cells(1,4).clearcontents

1.3 CARACTERIZANDO UM OBJETO

OBJETO.caracterstica
propriedade

SUBSTANTIVO.adjetivo

EX:

Cor da fonte
Preenchimento da clula
Negrito
No itlico

cells(5,2).font.colorindex = 5
cells(2,3).interior.colorindex = 7
cells(1,4).font.bold = true
cells(1,2).font.italic = false

1.4 CDIGO (ou procedimento)


Seqncia estruturada de operaes
PLANILHA

leitura
x =cells(i,j)
MDULO

CDIGO
VISUAL BASIC

roteiro de
soluo e
clculos

PLANILHA

sada
cells(9,2)= C

1.4.1 - Acessando o editor do Visual Basic pela planilha


Excel:
Ferramentas

Macro

Mdulo

Editor do
Visual Basic

Inserir

O mdulo o editor de texto do


Visual Basic, ou seja, o local
onde a seqncia de clculo
(algoritmo) escrita.

1.4.2 - Gravando Macros:


Ferramentas

Macro

Parar
gravao

Gravar nova
Macro
Executar
operaes na
planilha

1.4.3 Visualizando o cdigo de Macros gravadas:


Ferramentas

Macro

Editor do
Visual Basic

Buscar, no Project
Explorer, o mdulo onde
foi escrita a macro

1.4.4 Criando botes na planilha: para rodar um cdigo a


partir do clique em um boto
Exibir

Barra de
ferramentas

Formulrios
Inserir um boto na
planilha e atribuir uma
Macro a este boto

2 PRINCIPAIS ESTRUTURAS DO VISUAL BASIC

2.1 ESTRUTURAS ITERATIVAS (laos p/ clculos repetitivos)


While (condio)
seqncia de operaes
Wend

EX:

tempo = 0
While (tempo < 10)
V = frmula
tempo = tempo + 1
Wend

For i = 1 to N
seqncia de operaes
Next

EX:

N= 10
For k = 1 to N
V = frmula
Next

Quando o
nmero de
repeties
j
previamente
conhecido e
igual a N.

Do
seqncia de operaes
Loop until (condio atingida)
ou
Loop while(condio no atingida)

EX:

tempo = 0
Do
V = frmula
tempo = tempo + 1
Loop until (tempo > 10)
ou
Loop while (tempo <= 10)

Quando o
nmero de
repeties
no
previamente
conhecido,
pois depende
dos clculos
que ocorrem
dentro do
lao.

2.2 ESTRUTURAS CONDICIONAIS (p/ comparaes)


If (condio) then
seqncia de operaes
End if

EX:

If (x < 10 and y > 10) then


V = frmula
End if

Quando h
apenas uma
condio

If (condio) then
seqncia 1 de operaes
else
seqncia 2 de operaes
End if

EX:

Quando h
apenas uma
condio, porm
duas opes

If (tempo > 20) then


V = frmula
else
V=0
End if

If (condio 1) then
seqncia 1 de operaes
elseif (condio 2) then
seqncia 2 de operaes
else
seqncia 3 de operaes
End if

Quando h
vrias condies e
tambm vrias
opes

EX: If (tempo > 20) then


V = frmula
elseif (tempo<=20 and tempo>=10) then
V=2
else
V=0
End if

2.3 ESTRUTURAS de ARMAZENAMENTO


(p/ guardar resultados que sero utilizados em outros momentos do clculo.
Essas estruturas atuam como se fossem armrios com um nmero prestipulado de gavetas)

VETORES
(1 dimenso)

2.5

10.6 20.12

1
MATRIZES
(2 ou 3 dimenses)

0.59
4

2.5

10.6 20.12

0.59

3.5

17.7 20.1

0.09

56.9

11.7 2.0

0.5

Obs: Vetores e matrizes devem ser declarados no incio do cdigo,


de forma que o seu tamanho mximo (quantidade mxima de
espaos) seja especificado.
EX:

Dim A(10), B(5), C(20,35) as Double


Dim U(10), V(5,6,7), W(20,35) as Integer

Tipos de variveis:
Double: nmero real de dupla preciso (gasta 8 bytes)
-1,79769....10+308 at -4,94066....10-324
4,94066....10-324 at 1,79769....10+308
Single: nmero real de preciso simples (gasta 4 bytes)
-3,4028....10+38 at -1,40129....10-45
1,40129....10-45 at 3,4028....10+38
Variant: qualquer varivel numrica, inclusive as no declaradas
(gasta 32 bytes)

Tipos de variveis (cont.):


Integer: nmero inteiro (gasta 2 bytes)
-32768 at 32767
Long: nmero inteiro longo (gasta 4 bytes)
-2 147 483 648 at 2 147 483 647
Byte: nmero inteiro (gasta 1 bytes)
0 at 255

2.4 COMENTRIOS
(frases que o programa no l espcie de ttulos mas que
auxiliam o programador no entendimento do roteiro de solues)
No Visual Basic, os comentrios ficam em VERDE e so
precedidos por apstrofos.
EX:

If (tempo > 20) then


Concentrao = frmula
elseif (tempo<=20 and tempo>=10) then
Concentrao = 2
else
as concentraes so nulas durante os primeiros 10 segundos
Concentrao = 0
End if

3 CRIANDO AS PRPRIAS FUNES

Utilizando o Visual Basic, possvel criar funes genricas que


no existem na biblioteca do Excel.
Function nome (argumento 1, argumento 2, ...)
nome = funo dependente dos argumentos
End function

Obs: As funes deve ser escritas fora da SUB.


EX:
Function A(x,y)
A = 4*x^2+y^(2/3)*exp(x*y)
End function