Upload
gabrielpequeno
View
4
Download
0
Embed Size (px)
DESCRIPTION
visual basic
Citation preview
NOES DE VISUAL BASIC APLICADO AO EXCEL
- HIDROLOGIA SUBTERRNEA
NOTAS DE AULA
Prof. Jos Eduardo Alamy Filho
1 - INTRODUO
VBA = Visual Basic for Applications
Funo da programao em Engenharia: soluo de problemas mais complexos, os quais normalmente demandam clculos repetitivos.
1.1 PRINCIPAIS OBJETOS DO EXCEL
PLANILHA
CLULAS
INTERVALO de CLULAS
GRFICO
sheets(NOME)
cells(linha,coluna)
range(cells(1,1),cells(5,2))
chartobjects(NOME)
maneira moderna de fazer clculos
aplicado aos objetos do Excel
1.2 PRINCIPAIS AES sobre UM OBJETO
OBJETO.ao 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
EX:
Cor da fonte cells(5,2).font.colorindex = 5
Preenchimento da clula cells(2,3).interior.colorindex = 7
Negrito cells(1,4).font.bold = true
No itlico cells(1,2).font.italic = false
OBJETO.caracterstica SUBSTANTIVO.adjetivo
mtodo
propriedade
1.4 CDIGO (ou procedimento)
PLANILHA
CDIGO VISUAL BASIC
Seqncia estruturada de operaes
MDULO
PLANILHA
leitura x =cells(i,j)
sada cells(9,2)= C
roteiro de soluo e clculos
1.4.1 - Acessando o editor do Visual Basic pela planilha Excel:
Ferramentas Macro Editor do Visual Basic
Inserir Mdulo
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 Gravar nova Macro
Executar operaes na planilha
Parar gravao
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) then V = frmula End if
Quando h apenas uma condio
Quando o nmero de repeties no previamente conhecido, pois depende dos clculos que ocorrem dentro do lao.
If (condio) then seqncia 1 de operaes else seqncia 2 de operaes End if
EX: If (tempo > 20) then V = frmula else V = 0 End if
Quando h apenas uma condio, porm duas opes
If (condio 1) then seqncia 1 de operaes elseif (condio 2) then seqncia 2 de operaes else seqncia 3 de operaes End if
EX: If (tempo > 20) then V = frmula elseif (tempo=10) then V = 2 else V = 0 End if
Quando h vrias condies e tambm vrias opes
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 pr-estipulado de gavetas)
VETORES (1 dimenso) 2.5 10.6 20.12 0.59
1 2 3 4 MATRIZES (2 ou 3 dimenses) 2.5 10.6 20.12 0.59
1 2 3 4
3.5 17.7 20.1 0.09 56.9 11.7 2.0 0.5
12
3
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)
EX: If (tempo > 20) then Concentrao = frmula elseif (tempo=10) then Concentrao = 2 else as concentraes so nulas durante os primeiros 10 segundos Concentrao = 0 End if
No Visual Basic, os comentrios ficam em VERDE e so precedidos por apstrofos.
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