terça-feira, 23 de agosto de 2011

6. ESTRUTURAS DE DECISÃO - CONTINUAÇÃO

6.1.2. Definição da estrutura a ser utilizada

Não há uma regra específica para se definir qual estrutura deverá ser utilizada na construção de um sistema. A utilização de uma ou outra, está condicionada à necessidade e exigências do programa. Assim, sistemas podem ser construídos usando-se apenas if e end IF.

Agora, suponha que você é um professor(não suponha que seja do ensino médio em escola pública, pois neste momento eles estão de greve. Deve haver uma razão pra isto). Imagine que precise de um pequeno sistema que verifique se a nota do aluno é suficiente para aprovação. Vamos a um exemplo prático.

Para lhe ajudar a consolidar os conhecimentos, vamos criar um formulário. Abra uma planilha e siga os passos.

1º. Abra o editor do VBA(Ctrl + F11)




2º. Abra um formulário




3º Altere as propriedades do formulário




Perceba que a propriedade Caption define o nome que aparecerá na barra de título do formulário.

4º. Insira os objetos necessários no formulário

A alteração das propriedades do objeto segue sempre o mesmo padrão. Assim, é só seguir o exemplo do 3º passo.

Veja que inserimos um rótulo com Caption: Nota. Uma caixa de texto e um botão com caption: Verificação.



6.1.3. Programando o sistema de notas

Vamos verificar se a média das notas dos alunos é maior ou igual a 60. Caso positivo, o aluno será aprovado. Veja o fluxograma e tente compreender como o programa irá funcionar.




Perceba que a nota será inserida pelo o usuário, no nosso caso, o próprio professor lembra?! Aquele que lhe contratou para desenvolver o sistema (não se esqueça de combinar o preço antes!).

Logo após a inserção da nota, verificamos se a mesma é maior/igual a 60. Se for, aprovamos a galera, do contrário damos pau em todo mundo sem dó. Se reclamarem da rigidez, diga que a culpa não é sua, o computador é muito insensível.

Agora podemos começar a programar. Para começar, dê dois cliques no formulário. Você verá que o evento padrão é o CLICK, porém, precisamos programar primeiro o evento Initialize, ou seja, aquele que é disparado quando o formulário é aberto.





Na caixa de combinação da direita escolha initialize. Agora, vamos digitar uma linha de código para colocarmos o foco na caixa de texto assim que o formulário for inicializado.

É só digitar me.TextBox1.SetFocus(A caixa de texto será focada)





Assim, todas as vezes que o formulário for aberto, a caixa de texto receberá o foco sem que seja necessário usar o mouse para isto.

Agora dê dois clicks no botão que você criou e digite o código abaixo. Todas as considerações relevantes sobre o algoritmo estão em seu próprio corpo.





Clique em F5 para dar play no sistema. Se quiser que o formulário apareça assim que a planilha for aberta é só digitar verificanota.show no evento open da pasta de trabalho. Dê dois cliques em EstaPasta_de_trabalho e escolha Workbook. Depois de feito isto, perceba que na caixa de combinação à direita, aparecerá Open, que é o evento padrão do Workbook. Veja como fazer abaixo:



Agora é só digitar o código





CÓDIGO PARA COPIAR

Private Sub CommandButton1_Click()

'Iniciamos o programa com o foco na caixa de texto
Me.TextBox1.SetFocus

'Pense! Se o valor que estiver na nossa caixa de texto for maior que 5, então...
If Me.TextBox1.Value > 60 Then

'Emitiremos a mensagem "Aluno Aprovado"
MsgBox "Aluno Aprovado!"

'Voltamos o foco para para a caixa de texto
Me.TextBox1.SetFocus

'Do contrário
Else

'Emitiremos a mensagem "Aluno Reprovado"
MsgBox "Aluno Reprovado!"

'Voltamos o foco para para a caixa de texto
Me.TextBox1.SetFocus

'Fechamos a estrutura de decisão
End If

End Sub


6.2. Estrutura SE(IF) / ENTÃO(THEN) / SENÃO SE(ELSEIF) /  SENÃO(ELSE) – Ninho de IF.

Você deve ter percebido que no tópico 6.1, fizemos basicamente uma verificação, ou seja, o aluno será aprovado ou reprovado. Porém, como todos sabemos, existe a repescagem, mais conhecida como recuperação (quem nunca pegou que atire a primeira pedra!).

Imagine, o professor quer saber quais alunos foram aprovados, reprovados, ficaram em recuperação e demais opções se for o caso. É possível? Claro meu amigo microsoftmaníaco(acabei de inventar!!!, mas não é um trava língua – estou ligando para a editora do Aurélio para acrescentarem. kkk), vamos usar o comando IF / THEN / ELSEIF /  ELSE, também conhecido como ninho de IF.

Para esclarecer melhor, vamos usar o exemplo do tópico anterior e fazer os incrementos necessários. Os comentários em caixa-alta e em vermelho no CÓDIGO PARA COPIAR farão menção às novas linhas de código, porém não se esqueça, as linhas verdes são apenas comentários.


CÓDIGO PARA COPIAR

Private Sub CommandButton1_Click()
'Iniciamos o programa com o foco na caixa de texto
Me.TextBox1.SetFocus

'Pense! Se o valor que estiver na nossa caixa de texto for maior que 60, então...
If Me.TextBox1.Value >= 60 Then

'Emitiremos a mensagem "Aluno Aprovado"
MsgBox "Aluno Aprovado!"

'DO CONTRÁRIO SE, A NOTA FOR ENTRE 40 E 60, ENTÃO, O ALUNO ESTARÁ DE RECUPERAÇÃO

ElseIf Me.TextBox1.Value >= 40 And Me.TextBox1.Value < 60 Then

'EMITIREMOS A MENSAGEM "ALUNO EM RECUPERAÇÃO"
MsgBox "ALUNO EM RECUPERAÇÃO"

'DO CONTRÁRIO SE, A NOTA FOR ENTRE 10 E 40, ENTÃO, O ALUNO ESTARÁ REPROVADO

ElseIf Me.TextBox1.Value >= 10 And Me.TextBox1.Value < 40 Then

'EMITIREMOS A MENSAGEM "ALUNO REPROVADO"
MsgBox "ALUNO REPROVADO"

'AGORA SE O ALUNO FOR MUITO RUIM, A GENTE PODE DETONAR. VEJA SÓ.
'SE A NOTA FOR MENOR QUE 10.

Else 'PERCEBA QUE NÃO USAMOS MAIS O ELSEIF, JÁ QUE ESTA É A ÚLTIMA OBSERVAÇÃO.

'EMITIREMOS A SEGUINTE MENSAGEM
MsgBox "ALUNO EXPULSO DA ESCOLA" 'SACANAGEM!!!!!!!!!

'VAMOS APROVEITAR E LIMPAR A TELA PARA UMA NOVA DIGITAÇÃO
Me.TextBox1.Value = ""

'Voltamos o foco para para a caixa de texto
Me.TextBox1.SetFocus

'Fechamos a estrutura de decisão
End If

End Sub


Viu como o raciocínio é simples. Este é apenas um exemplo, você pode fazer quantos testes quiser ou quantos o sistema exigir.

No próximo tópico, veremos uma estrutura diferente, porém que tem o mesmo objetivo desta. Algumas pessoas dizem ser mais simples. Vamos ver o que você acha.

6.3. Estrutura SELECT CASE

A estrutura SELECT CASE  pode ser usada para simplificar algoritmos que programam atividades repetitivas. Se achar o ninho de IF cansativo, você poderá utilizar este comando.

Para exemplificar, vamos usar o mesmo raciocínio do item 6.2, aplicando o SELECT CASE. Para tanto, vamos implementar nosso projeto, acrescentando mais um botão. Assim, não perderemos os códigos anteriores. Faça como na figura abaixo:




Agora dê um duplo click no botão que você acabou de criar e vamos programá-lo.





CÓDIGO PARA COPIAR

Private Sub CommandButton2_Click()

'No Caso do SELECT CASE, precisamos criar uma variável para armazenar o valor da nota que será
'digitado na TextBox1

'Declare a variável
Dim Nota As Integer
'Agora definimos o valor que será guardado na variável. Veja que, o número que for digitado na
'textbox1 ficará armazenado na variável. Então Nota será igual ao valor da Textbox1.
Nota = Me.TextBox1.Value
'Vamos iniciar a estrutura
Select Case Nota
'Pense! Se o valor que estiver na nossa caixa de texto for maior que 60, então...
Case Is >= 60
'Emitiremos a mensagem "Aluno Aprovado"
MsgBox "Aluno Aprovado!"
'DO CONTRÁRIO SE, A NOTA FOR ENTRE 40 E 60, ENTÃO, O ALUNO ESTARÁ DE RECUPERAÇÃO
Case Is >= 40
'EMITIREMOS A MENSAGEM "ALUNO EM RECUPERAÇÃO"
MsgBox "ALUNO EM RECUPERAÇÃO"
'DO CONTRÁRIO SE, A NOTA FOR ENTRE 10 E 40, ENTÃO, O ALUNO ESTARÁ REPROVADO
Case Is >= 10
'EMITIREMOS A MENSAGEM "ALUNO REPROVADO"
MsgBox "ALUNO REPROVADO"
'AGORA SE O ALUNO FOR MUITO RUIM, A GENTE PODE DETONAR. VEJA SÓ.
'SE A NOTA FOR MENOR QUE 10.
'CASO CONTRÁRIO
Case Else 'PERCEBA QUE NÃO USAMOS MAIS O ELSEIF, JÁ QUE ESTA É A ÚLTIMA OBSERVAÇÃO.
'EMITIREMOS A SEGUINTE MENSAGEM
MsgBox "ALUNO EXPULSO DA ESCOLA" 'SACANAGEM!!!!!!!!!
'VAMOS APROVEITAR E LIMPAR A TELA PARA UMA NOVA DIGITAÇÃO
Me.TextBox1.Value = ""
'Voltamos o foco para para a caixa de texto
Me.TextBox1.SetFocus
'LÓGICO, FECHAMOS O PROGRAMA
End Select


End Sub


Observe que o código será executado até que a condição seja atendida. Por esta razão, a Textbox1 só será limpa e receberá o foco novamente se você digitar um número menor que 10, pois este é o último teste. Caso queira que se repita em todas as hipóteses, copie os códigos.

Finalmente, terminamos com as estruturas de repetição. Agora, vamos ao assunto mais interessante da programação VBA, que lhe permitirá criar programas extremamente sofisticados e que terão como limite apenas a sua imaginação.


Para acessar o curso completo Clique aqui




quinta-feira, 23 de junho de 2011

6. ESTRUTURAS DE DECISÃO

6. ESTRUTURAS DE DECISÃO.

Não são raras as vezes que precisamos decidir o comportamento de um sistema durante a sua execução. Neste sentido, o algoritmo deve ser desenvolvido de modo a permitir que o usuário tome a decisão quanto ao que fazer.  Para tanto, precisamos usar as estruturas de repetição, que são as ferramentas disponibilizadas pelo VBA para estruturarmos os nossos sistemas.

6.1. Estrutura SE(IF) / ENTÃO(THEN) / SENÃO(ELSE)

Usamos esta estrutura para verificar se uma condição foi satisfeita durante a execução do algoritmo. Desta forma, poderemos definir qual será o comportamento do programa, além de dar ao usuário opções de procedimentos possíveis.

É importante lembrar que esta estrutura tem início e fim. Desta forma, para começarmos a programar esta estrutura digitamos IF e fechamos com END IF.

Para facilitar a sua compreensão, vamos criar um programa que receba digitação de um número e identifique os maiores e menores que 10.



CÓDIGO PARA COPIAR

Sub IdentificaNumero()

'Criamos uma variável inteira para receber o número. OBS: Esta variável recebe apenas
'número inteiros, assim,evite números não inteiros, mais tarde isto ficará mais claro.
Dim Numero As Integer

'Criamos uma caixa de entrada(InputBox) para receber o número. Obeserve, que o número
'digitado na InputBox Ficará armazenada na variável número.
Numero = InputBox("Digite o número", "IDENTIFICA NÚMERO")

'Depois que a variável já recebeu o valor digitado, podemos fazer as verificações. Observe:

'Se o número for menor que 10, então exiba uma mensagem(msgbox)
If Numero < 10 Then
MsgBox "Este número é menor que  10!"
'Do contrário/senão, emita outra mensagem
Else
MsgBox "Este número é maior que  10!"
End If

End Sub




Para acessar o curso completo Clique aqui

segunda-feira, 20 de junho de 2011

FLUXO DE CAIXA PESSOAL EM VBA

Pessoal!!! Estou postando um fluxo de caixa feito em programação VBA. Para usa-lo, é só baixar em Programas em VBA. Logo, estarei explicando como utiliza-lo. Até lá.

domingo, 8 de maio de 2011

5. APRENDENDO A TRABALHAR COM FORMULÁRIOS - APRENDA A CONSTRUIR UMA CALCULADORA EM VBA

Olá Pessoal! Esta é a 5ª parte do meu curso de programação VBA Excel. Como prometi, ensino passo-a-passo a fazer uma calculadora.


5. APRENDENDO A TRABALHAR COM FORMULÁRIOS

Os formulários são muito utilizados na programação VBA. De uma forma simples é possível criar interfaces que facilitem a interação do usuário com as planilhas, reduzindo o tempo requerido para a realização de algumas tarefas. Vejamos como acessar formulários através do editor do VBA.

Vamos aproveitar este capítulo para criarmos uma calculadora em programação VBA e assim, consolidarmos dos conceitos aprendidos
5.1. Criando uma Calculadora no Excel VBA

Precisaremos inicialmente, após abrir uma planilha do Excel, acessar o editor do VBA. Simples, clique em Alt + F11 e Vualá(No português mesmo pra faciliar!kkk).

Após abrir o editor do VBA, faça como a figura abaixo para abrir o formulário. Não se esqueça de abrir a caixa de ferramentas que vamos utilizar para criar nossa calculadora.

5.1.1. Personalizando o formulário

Inicialmente, vamos fazer algumas alterações no formulário para personalizá-lo. Vamos dar um nome a ele e mudar a descrição de sua barra de identificação. Para tanto, utilizaremos a caixa de propriedades para deixar o formulário a nossa cara. (Se depender de mim vai ficar lindo, não sei quanto a você!kkk).

Veja que depois de alterarmos a propriedade name, o nome do formulário vai mudar para Calculadora. Da mesma forma, quando alterarmos a propriedade Caption, a descrição do formulário mudará.

Além disso, como você pode ver na figura, inserimos no formulário uma caixa de texto e um botão.


5.1.2. Montando a Interface

Agora que você já sabe como inserir caixas de texto e botões, vamos criar um formulário como o abaixo. É só inserir o número de botões correspondentes e alterar a propriedade Caption para inserir os números da calculadora. Qualquer dúvida sobre a posição dos botões você pode baixar o modelo, abrir o editor do VBA e verificar.

5.1.3. Programando a Calculadora

Pois bem, chegamos ao momento que todos esperavam. É hora de programar a nossa calculadora. Como já dito no começo do curso, explicarei os códigos no próprio corpo do projeto para facilitar a compreensão. Você se surpreenderá com a simplicidade deste projeto, que lhe dará uma excelente base para iniciar e compreender outros programas.

Para iniciar, dê 2 cliques no corpo do formulário para abrirmos a área onde declararemos as variáveis que iremos utilizar. Na parte de cima, antes de qualquer linha de código digite como abaixo as variáveis valor e operação.

A variável valor irá armazenar o valor que será digitado na caixa de texto e operação determinará qual operação aritmética será realizada(Adição, Subtração, Multiplicação ou Divisão).





Será necessário agora, programar a ação dos botões. Para isto, dê dois cliques no botão que deseja programar. Perceba que trabalharemos no evento clique de cada botão.

Exemplo: Private Sub CommandButton1_Click()

Isto significa que as ações ocorrerão somente quando cada botão for clicado.
Veja dos códigos completos com os devidos comentários.
‘ Declaramos as variáveis
Public valor As Single
Public operaçao As String

‘ Quando a calculadora estiver em funcionamento e clicarmos no botão 1 a Caixa de Texto(TextBox1) receberá o valor 1. Se clicarmos novamente, ficará 11 e assim sucessivamente.

Private Sub CommandButton1_Click()
TextBox1 = TextBox1 + "1"
End Sub

‘O mesmo princípio pode ser aplicado a todos os botões numéricos da calculadora.

Private Sub CommandButton2_Click()
TextBox1 = TextBox1 + "2"
End Sub

Private Sub CommandButton3_Click()
TextBox1 = TextBox1 + "3"
End Sub

Private Sub CommandButton4_Click()
TextBox1 = TextBox1 + "4"
End Sub

Private Sub CommandButton5_Click()
TextBox1 = TextBox1 + "5"
End Sub

Private Sub CommandButton6_Click()
TextBox1 = TextBox1 + "6"
End Sub

Private Sub CommandButton7_Click()
TextBox1 = TextBox1 + "7"
End Sub

Private Sub CommandButton8_Click()
TextBox1 = TextBox1 + "8"
End Sub

Private Sub CommandButton9_Click()
TextBox1 = TextBox1 + "9"
End Sub

Private Sub CommandButton10_Click()
TextBox1 = TextBox1 + "0"
End Sub


‘AGORA, VAMOS COMEÇAR A PROGRAMAR OS BOTÕES QUE REALIZARÃO AS OPERAÇÕES
Private Sub CommandButton11_Click()
‘O 1º fará a soma. Veja que a variável “Valor” armazenará o valor digitado na caixa de texto. Entenda que na caixa de texto podemos digitar qualquer coisa, letras, números e caracteres. Por isto, precisamos pegar o valor que foi digitado e convertemos em número, daí  a expressão Val(TextBox1).
valor = Val(TextBox1)
Percebe que após a variável “valor” receber o número, precisamos limpar a caixa de texto para receber o próximo número que será digitado.
TextBox1 = ""
Como queremos efetuar uma soma, a variável “operação” receberá esta expressão.
operaçao = "soma"
End Sub

OS COMMANDBUTTONS 12, 13 E 14 UTILIZARÃO OS MESMOS PRINCÍPIOS.

Private Sub CommandButton12_Click()
valor = Val(TextBox1)
TextBox1 = ""
operaçao = "subtraçao"
End Sub

Private Sub CommandButton13_Click()
valor = Val(TextBox1)
TextBox1 = ""
operaçao = "divisao"
End Sub

Private Sub CommandButton14_Click()
valor = Val(TextBox1)
TextBox1 = ""
operaçao = "multiplicaçao"
End Sub

‘PARA ESTE PROJETO, O BOTÃO “=” TALVEZ SEJA O MAIS COMPLEXO. PORÉM NÃO CHEGANDO A SER UM DESAFIO PARA VOCÊ QUE ESTÁ ACOMPANHANDO O CURSO DESDE O INÍCIO.

Aqui, vamos utilizar o operador CASE. Em português simples, significa dizer que caso se clique no botão X, faça isto. Caso clique no botão Y faça aquilo.

Private Sub CommandButton15_Click()
‘Quando o botão “=” for clicado, significa que você já clicou em um dos operadores aritméticos antes(+, -, /, x), determinando qual operação será realizada.

‘Usamos Select Case para iniciar o processo
Select Case operaçao
‘Caso a operação seja soma(+)
Case "soma"
‘Vamos pegar o valor que foi armazenado na variável “valor” e soma-lo com o valor que ficou na tela por último.
valor = Val(TextBox1) + valor ‘(entenda que este valor foi armazenado quando você clicou em “+”. Depois disto a tela foi limpada, lembra! Logo você digitou mais um valor que será Val(TextBox1). Agora é só somar estes dois e a variável “valor” será renovada, recebendo o valor da soma. Simples!!!!!Não?


‘OS PROXIMOS SEGUEM O MESMO RACIOCÍNIO
Case "subtraçao"
valor = valor - Val(TextBox1)
Case "divisao"
valor = valor / Val(TextBox1)
Case "multiplicaçao"
valor = valor * Val(TextBox1)

‘Usamos End Select para fechar o processo.
End Select

‘Depois que o operador for identificado e a operação for realizado é só exibir o resultado na tela e sair pra galera!!!!!
TextBox1 = valor

End Sub

Private Sub CommandButton16_Click()
‘Este botão é o “CE”, serve apenas para limpar a tela. Ou seja, queremos que o valor da caixa de texto seja nada(“”)
TextBox1 = ""
End Sub

Private Sub CommandButton17_Click()
‘Este botão apenas fecha a calculadora
Unload Calculadora
End Sub

Para acessar o curso completo Clique aqui

Se quiser baixar a calculadora Clique aqui



quarta-feira, 4 de maio de 2011

CALCULADORA EM VBA

Galera, Estou postando uma calculadora desenvolvida em VBA. Logo, estarei explicando passo-a-passo como construí-la. Até lá. Clique aqui para baixar

domingo, 1 de maio de 2011

4. CONHECENDO O EDITOR DO VBA

4. CONHECENDO O EDITOR DO VBA.

Resolvi abordar este assunto agora, pois venho percebendo que a maioria dos iniciantes em programação VBA, que estudam pela internet, se sentem desanimados já nos primeiros passos por não saberem ao menos onde os códigos devem ser escritos, não podendo assim, ver os códigos em ação. Para resolvermos tal problema, mostrarei como acessar o EDITOR DO VBA, assim como suas funcionalidades básicas. Assim, quando partimos para os exemplos práticos, você terá condições de ver os resultados, eliminando suas frustações. "Viu como sou gente boa!".

Todos os exemplos serão confeccionados no Excel 2003. Neste momento do nosso curso, não aprofundaremos os nossos conhecimentos no editor do VBA. Aprenderemos apenas a acessar o módulo onde serão digitados os códigos para teste, deixando a exploração do ambiente de desenvolvimento do VBA para o futuro, dentro de cada tópico que estudaremos.

4.1. Abrindo o Editor do VBA

Crie uma planilha do Excel e a nomeie como o exemplo abaixo. Utilizaremos essa planilha em nossos exemplos de código VBA.

Para abrir o editor do VBA, siga os seguintes passos: Clique no Menu Ferramentas; Macro; Editor do Visual Basic ou simplismente Alt+F11, como mostra a figura abaixo:

 


Com o editor do Visual Basic aberto, clique no ícone que abrirá o módulo, conforme a figura abaixo.



Agora podemos desenvolver nossos primeiros códigos e testa-los.

4.1. Exemplos

Para melhor compreensão da teoria apresentada até aqui, irei utilizar os conceitos apresentados nos item 3.2.1 e 3.2.2, sobre variáveis e constantes respectivamente, em forma de exemplos.

1º EXEMPLO

Nosso primeiro exemplo, consiste na criação de um algorítimo que resultará na multiplicação de dois números, escrevendo o seu resultado. Para facilitar a compreensão, comentarei o código em seu próprio corpo. Perceba que os escritos em verde, não são lidos pelo editor, sendo considerados apenas comentários. Caso queira fazer seus próprios comentários no código é só escreve-los depois do apóstrofo.

OBS: Além do código feito no próprio editor do VBA, colocarei abaixo o código para que você possa copiar. Que moleza!!!

Neste 1º exemplo, farei também o fluxograma para que você entenda a sua aplicação
FLUXOGRAMA
         
















CÓDIGO EM VBA














CÓDIGO PARA COPIAR

Sub Multiplicação()
'Declaro as variáveis que receberão os números a serem multiplicados(N1 e N2)
'e a que receberá o resultado(M).
Dim N1, N2, M As Integer
'Abro uma caixa de entrada para receber o 1º número
N1 = InputBox("Digite o primeiro número", "MULTIPLICAÇÃO")
'Abro uma caixa de entrada para receber o 2º número
N2 = InputBox("Digite o segundo número", "MULTIPLICAÇÃO")
'Uso o operador aritmético(*) para fazer a multiplicação
M = N1 * N2
'Imprimo o resultado na tela através de uma caixa de mensagem(msgbox)
MsgBox "Resultado da multiplicação: " & M
End Sub

2º EXEMPLO

Neste exemplo, criaremos um algorítimo que calcula o desconto de uma compra feita à vista, imprimindo na tela o total dos descontos e o total à pagar.



CÓDIGO PARA COPIAR


Sub Desconto_Vendas()

'Declaro a constante, que caracterizara o desconto, que no caso, será de
'5 por cento.
Const tax_Desc As Double = 0.05
'Declaro a variável que receberá o valor do produto
Dim Valor_Prod As Double
'Declaro a variável que recebera o valor do desconto
Dim Valor_Desc As Double
'Declaro a variável que receberá o total à pagar
Dim Total_Pg As Double
'Para começar, criaremos uma caixa de entrada para receber o valor do produto
Valor_Prod = InputBox("Digite o valor do produto: ", "CALCULA DESCONTO")
'Calculo o valor do desconto(valor do produto x a taxa de desconto)
Valor_Desc = Valor_Prod * tax_Desc
'Finalmente, calculo o total à pagar
Total_Pg = Valor_Prod * (1 - tax_Desc)
'Agora é só imprimir os resultados usando a caixa de mensagem
MsgBox "Valor do produto: " & Valor_Prod & Chr(13) _
& "Valor do desconto: " & Valor_Desc & Chr(13) _
& "Total à pagar: " & Total_Pg

'VOCABULÁRIO
'Ao invés de ficar dando longas explicações sobre caracteres e operadores que
'vão aparecendo no código, procurarei explica-los no próprio código.
'1.Inputbox: É uma caixa de entrada de dados
'2.&: Concatena as informações
'3."": Todo texto(string) no código deve vir entre aspas.
'4.chr(13): É o mesmo que Enter, porém feito via programação

End Sub

Para ver o curso completo Clique aqui

terça-feira, 12 de abril de 2011

3. LOGICA DE PROGRAMAÇÃO EM VBA

3. LÓGICA DE PROGRAMAÇÃO EM VBA

Para desenvolver qualquer sistema em VBA ou em qualquer outra linguagem programação, se faz necessário a compreensão do que é a lógica de programação. O conhecimento adquirido sobre algorítimos será extremamente relevante neste momento.

3.1. Fluxograma e seus principais símbolos


Os Fluxogramas são amplamente utilizados nos estudos de algorítmos, assim como a lógica de programação. Basicamente, o fluxograma consiste em analisar o enunciado de um problema qualquer, descrevendo sua possível solução através de símbolos. A razão de sua utilização, se deve à facilidade de compreenção dos simbolos. Veja a descrição dos principais símbolos abaixo:

 












3.2. Operadores Aritméticos e Relacionais

3.2.1. Operadores Aritméticos

Ao desenvolvermos algoritmos, precisamos trabalhar com expressões matemáticas para a resolver problemas. Chamamos de  operadores aritméticos, o conjunto de símbolos que representa as operações básicas da matemática, conforme tabela a seguir:
 








3.2.2. Operadores Relacionais


Os operadores relacionais são tão importantes, quanto os operadores aritméticos. Utilizamos esses operadores quando queremos fazer comparações entre valores. Os operadores relacionais são:









3.2. Declaração de Variáveis e Constantes.

As variáveis e constantes são utilizadas para armazenar os dados que serão processados em um programa. São extremamente importantes e necessárias ao bom funcionamento dos sistemas desenvolvidos em VBA. Agora, você deve estar se perguntando, qual a diferença entre elas? Pois bem, eis a explicação!


 

3.2.1. Variável

As variáveis armazenam dados, que podem ser números e que sofrerão modificações durante a execução do algorítimo. Assim, todo dado que tem a possibilidade de ser alterado, sofrendo variações no decorrer do tempo, deverá ser tratado como uma variável do problema, e portanto deverá ser definido como tal no algoritmo a ser desenvolvido.

EXEMPLO

Para melhorar a compreensão, imagine que queira desenvolver um pequeno sistema que faça a multiplicação entre dois números. Logo precisariamos de 3 variáveis, sendo uma para receber o 1º número, uma para o 2º e finalmente a que receberá o resultado. Assim, sempre que os números das variáveis 1 e 2 mudarem, o resultado da 3º terceira variável será diferente.

VARIÁVEIS                        1    x    2     =      3 (RESULTADO DA MULTIPLICAÇÃO)
NÚM. DIGITADOS             2    x    3     =      6 (O resultado da multiplicação é 6)
NÚM. DIGITADOS               6    x    4     =    24 (O resultado da multiplicação é 24)

Perceba que o valor que será guardado na 3º varíável será diferente em cada situação.

3.2.1.1 . Tipos de variáveis

O tipo de variável, relaciona-se  à informação que se pretende armazenar nela. Abaixo, segue uma lista com as mais utilizadas e sua aplicação.


Integer – 2 bytes - permite armazenar  números inteiros entre -32.768 e 32767 

Double – 8 bytes – permite armazenar um real desde -1.79769313486232E308 até -4.94065645841247E-324 para valores negativos, e desde 1.79769313486232E308 até 4.94065645841247E-324 para valores positivos.

Boolean – 2 bytes – Permite armazenar valores Boolenaos – True ou False

Variant – 16 bytes - permite armazenar qualquer tipo de dados
Byte – 1 Byte – permite armazenar números sem sinal entre 0 e 255
Long – 4 bytes – permite armazenar números inteiros entre -2 147 483 648 e 2 147 483 648
Object – 4 bytes – utilizado para fazer referência a um objecto do Excel


3.2.2. Constante
Date – 8 Bytes – permite armazenar datas
Single – 4 bytes – permite armazenar um real desde -3.402823E38 até -1.4011298E-45, para valores negativos e desde 3.402823E38 até 1.4011298E-45, para valores positivos

Currency  - 8 bytes – permite armazenar moeda

String – 1 byte por caractere – permite armazenar conjuntos de caracteres

Como o próprio nome diz, as constantes são valores que não se alteram durante a execução de uma rotina, ou seja, quando um dado não tem nenhuma possibilidade de variar com o decorrer da execução do algorítmo. São declaradas da mesma forma que as variáveis, a única diferença e que a atribuição de valor deve ser feita na mesma instrução da declaração e apenas uma única vez.

EXEMPLO

Imagine que você precisa criar um pequeno sistema para calcular o valor do desconto que será dado a um cliente por um compra à vista em sua pequena loja. Você decidiu que toda a compra à vista terá um desconto de 5%. Logo precisaremos de uma variável, pois o valor da compra pode mudar, dependendo do cliente e de uma constante, pois o valor do desconto será o mesmo. Então vamos a boa e velha matemática.

VARIÁVEL(Valor da compra)       CONSTANTE(Desconto)       RESULTADO(Valor do desconto)
                100                      x                       0,05                     =                            5           
                300                      x                       0,05                     =                          15           



Para ver o curso completo Clique aqui