Pesquisar este blog

segunda-feira, 20 de maio de 2013

OPERADOR +

Operador +


    Operador de adição coma seguinte sintaxe:

Resultado = expressão1 + expressão2

    Se ambas as expressões forem valores numéricos, a soma aritmética será efetuada. Se um ou ambos os valores forem strings o VBA irá efetuar a concatenação das strings. Porém, se ambas as strings forem numéricas, o VBA poderá efetuar a soma e devolver para Resultado uma nova string numérica resultante. Para ter certeza de que strings são concatenadas, empregue o operador "&" de concatenação.

    Se pelo menos uma das expressões não for uma Variant, as seguinte regras se aplicam:
  • Se ambas as expressões forem dados numéricos de qualquer tipo (Byte, Boolean, Integer, Long, Single, Double, Date, Currency ou Decimal) ocorrerá a adição dos valores;
  • Se ambas as expressões forem strings, ocorrerá a concatenação das strings;
  • Se uma expressão for um tipo de dado numérico e a outra uma variável Variant diferente de Null, ocorrerá a adição das expressões;
  • Se uma expressão for uma string e a outra uma variável Variant diferente de Null ocorrerá a concatenação das expressões;
  • Se uma expressão for um tipo de dado numérico e a outra for uma string, ocorre erro Type mismatch (tipos não equivalentes);
  • Se uma ou ambas as expressões forem variáveis Variant contendo o valor Null, o resultado será sempre Null (chama-se propagação do Null);
  • Se ambas as expressões forem variáveis Variant contendo strings, ou forem variáveis String, ocorrerá a concatenação das expressões;
    Para operações de adição envolvendo apenas expressões de tipos de dados numéricos, o valor resultante será do tipo de dado mais preciso, empregando-se a seguinte ordem de precisão: Byte, Integer, Long, Single, Double, Currency e Decimal.

    São válidas as seguintes exceções para esta regra:
  • A adição de um valor Single, com um Long resulta em um Double;
  • A adição de qualquer valor a uma variável Date (data válida) resulta sempre em outra variável Date.
Exemplo: Os seguintes exemplos são válidos para as variáveis Resultado, Exp1 e Exp2, sem declaração específica de tipo (e portanto, consideradas pelo VBA como Variant):

Dim Resultado, Exp1, Exp2

Resultado = 2^2  ' Retorna 4
Resultado = 123.45 + 100 ' Retorna 223.45
Exp1 = "16": Exp2 = 8 ' Inicialização das variáveis
Resultado = Exp1 + Exp2  ' Retorna 24
Exp1 = "16": Exp2 = "8" ' Inicialização das variáveis
Resultado = Exp1 + Exp2  ' Retorna 168- concatenação das strings
Exp1 = 10: Exp2 = 20/01/2013 ' Inicialização das variáveis
Resultado = Exp1 + Exp2  ' Retorna 30/01/2013

Até a Próxima!!

Nenhum comentário:

Postar um comentário