Variáveis Tipos de Dados APROG () Aula 2 1
Conteúdo Conceito de Variável Declaração de variáveis Tipos de Dados Operação de Atribuição Uso de Constantes 2 2
Variáveis Uma variável é uma localização de memória onde informação pode ser guardada de modo a ser usada por um programa. O conteúdo de uma variável pode mudar durante a execução do macro. Cada variável é caracterizada pelo seu nome e pelo seu tipo, ou seja, o tipo de dados que pode armazenar. 3 3
Variáveis Existem algumas regras governando a escolha do nome duma variável: Deve obrigatoriamente começar por uma letra; Não pode conter espaços nem caracteres como vírgulas ou pontos; Não pode exceder 255 caracteres; Não pode ser igual a uma palavra reservada para o VBA. 4 4
Variáveis e tipos de dados 5 5
Declaração de variáveis Ao acto de criar uma variável chama-se declaração. Criar uma variável implica dar-lhe um nome e reservar em memória o espaço necessário para o tipo de dados que vai guardar. Nenhuma variável pode ser utilizada antes de ser criada. A declaração deve, pois, preceder a sua utilização. 6 6
Declaração Explícita Dim... As Exemplo: Dim Preço As Integer Cria uma variável com o nome Preço e do tipo Integer, ou seja, dimensionada para receber dados do tipo integer (inteiro simples). 7 7
Declaração Implícita A declaração implícita resume-se a utilizar pela 1º vez uma variável sem qualquer declaração explícita prévia. O VBA criará automaticamente a variável, dando-lhe um nome e atribuindo-lhe um valor. Problema: criar, por distracção, uma variável nova indesejada, quando o que se queria era apenas escrever o nome de uma variável já existente. Não haverá qualquer alerta. Solução: obrigar à declaração explícita [Option Explicit] 8 8
Tipos de Dados Tipo Descrição Integer Inteiro simples, para representar inteiros entre -32768 e 32767 Long Inteiro longo, entre -2.147.483.648 e 2.147.483.647 Single Double String Boolean Date Object Real com precisão simples, valores negativos entre -3,4E38 e -1,4E-45 e valores positivos entre 1,4E-45 e 3,4E38 Real com precisão dupla, para representar números reais muito maiores ou muito mais pequenos que com o tipo single Representa texto (letras, algarismos e símbolos especiais); strings são representadas entre aspas Representa valores lógicos (True ou False) Representa datas ou valores de tempo; são representados entre caracteres # Guarda referências a objectos 9 9
Atribuição A operação de Atribuição permite guardar um dado numa variável. Sintaxe: Variável = Valor Variável Valor O resultado da operação será o de guardar Valor em Variável. Valor pode ser um valor constante ou o conteúdo de outra variável (cópia do conteúdo de uma variável para outra do mesmo tipo). A atribuição é uma operação destrutiva 10 10
Atribuição temp = idade Esta instrução copia o valor contido na variável idade para a variável temp. Pode ainda ser atribuído a um variável o resultado de uma expressão ou o valor devolvido por uma função. 11 11
Atribuição total = peso1 + peso2 É resolvida em 1º lugar a expressão à direita do operador de atribuição (=), somando os conteúdos das variáveis peso1 e peso2, após o que será copiado esse resultado para a variável total. 12 12
Atribuição resultado = sqrt(2+peso) A função standard do VBA sqrt() calcula a raiz quadrada do valor ou expressão que se encontrar dentro dos parêntesis. É calculado em 1º lugar o resultado da expressão 2 + peso; esse valor será fornecido à função sqrt(), após o que o valor fornecido por essa função será armazenado na variável resultado. 13 13
Atribuição Exemplos da operação de Atribuição Public Sub verificagama() Dim i As Integer, c As Integer c = 0 For i = 1 To 5 If Cells(i, 3) > 100 Then c = c + 1 Contador End If Next If c > 2 Then MsgBox c & " valores superiores ao limite!" End If End Sub 14 14
Atribuição Funcionamento de um contador c = 0... c = c + 1... 1. c = 0 + 1 2. c = 1 3. c <- 1 Atenção! O símbolo = não significa igualdade!!! c = c + 1 é o mesmo que c <- c + 1 15 15
Constantes Uma constante é num nome dado a um valor numérico ou a uma cadeia de caracteres, que pode ser usado num programa em vez desses valores. Funciona como uma espécie de sinónimo. 16 16
Uso de constantes Quando um valor é utilizado muitas vezes num programa, se for preciso modificálo, terá que se corrigir todas as ocorrências desse valor. Se, ao invés, se definir uma constante com esse valor, bastará mudar a definição inicial para que a mudança automaticamente se repercuta ao longo de todo o programa. 17 17
Constantes Const Nome As tipo = expressão Por expressão entende-se um valor numérico, uma cadeia de caracteres (string), ou uma expressão cujo resultado seja um destes tipos de valores. Const Factor as Single = 1.347 18 18
Referências a células em VBA Forma simplificada de acesso a células individuais [Ref] - Ref (Referência da célula) Exemplo: [B2] - célula B2 Escrita: [B2] = 100 Leitura: c = [B2] + [C5] 19 19
Exercício de aplicação Enunciado: Crie um macro em VBA que calcule a área de um triângulo a partir da base e altura contidas nas células B2 e B3 respectivamente. O resultado deve ser colocado na célula B5. Private sub areatriangulo() Dim b As Integer, a As integer b = [B2] a = [B3] [B5] = (a*b)/2 End Sub 20 20