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
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