VBA CDEC - Como usar a função CDEC no VBA? (Exemplos)

Função CDEC em VBA

CDEC é uma função de conversão de tipo de dados embutida disponível como função VBA. A função VBA CDEC converte um tipo de dados de qualquer outro tipo de dados em um tipo de dados decimal. Significa “Converter para Decimal”.

Quando trabalhamos com dados e pedimos aos usuários que insiram os valores, pode haver vários formatos nos quais um usuário pode nos fornecer valores, como o usuário pode fornecer um valor decimal e um valor não-decimal, função CDEC em O VBA nos ajuda a converter qualquer valor em um valor decimal, e é uma função embutida no Excel.

Abaixo está a sintaxe da função CDEC.

Expressão: isso nada mais é do que o valor que estamos tentando converter para o tipo de dados decimal. Pode ser um valor numérico direto ou uma variável que contém o valor numérico.

  • Antes de vermos como converter o valor em tipos de dados decimais, deixe-me informá-lo sobre o tipo de dados decimais em detalhes.
  • Os tipos de dados numéricos comuns que usamos são “Long, Integer e Double”. Não há nenhum tipo de dado especial como “Decimal” disponível para armazenar valores decimais longos. Os tipos de dados longos e inteiros convertem o número em número inteiro, embora o valor decimal seja atribuído a eles.
  • Portanto, para armazenar valores decimais nas variáveis, precisamos declarar a variável como um tipo de dados “Variante”. Então, usando a função VBA CDEC, podemos converter para o tipo de dados decimal.
  • Para armazenar valores decimais de até 14 dígitos, podemos usar o tipo de dados “Double”, mas usando a função de conversão VBA CDEC, podemos armazenar 28 casas decimais.
  • Quando se trata de ocupação de memória, o CDEC consumirá 14 bytes da memória do sistema e, como declaramos o tipo de dados da variável antecipadamente como “Variante”, o valor será sempre zero.

Exemplos de uso da função VBA CDEC

Veremos alguns exemplos na seção abaixo do artigo.

Por exemplo, observe o código VBA abaixo.

Código:

Sub CDEC_Example () Dim k As Integer k = 2.5698979797646 MsgBox k End Sub

Acima, declaramos a variável VBA como “Inteiro” quando executamos o código e obteremos o valor na caixa de mensagem em VBA conforme abaixo.

Quando atribuímos o valor de 2,5698979797646 resultados é 3, isso ocorre porque o tipo de dados que atribuímos à variável é “Inteiro”, portanto, ela converterá o número para o valor inteiro mais próximo.

Observação: se o valor decimal for> 0,5, ele será arredondado para cima para o próximo valor inteiro e se o valor decimal for <0,51, ele será arredondado para baixo para um valor inferior ao inteiro.
  • Ok, agora deixe-me atribuir a função CDEC para converter o valor do tipo de dados em decimal.
  • Como você pode ver acima, atribuí o valor à variável “k” usando a função de conversão VBA CDEC.
  • Execute o código e veja o que obtemos.
  • Mesmo agora, obtivemos o resultado como três por causa do tipo de dados Inteiro atribuído no momento, e sempre arredonda o número para o próximo valor inteiro.

Portanto, para atribuir o tipo de dados “Decimal” primeiro, precisamos atribuir o tipo de dados como “Variante” e então converter para Decimal usando a função CDEC.

Código:

Sub CDEC_Exemplo () Dim k As Variante k = CDec (2.5698979797646) MsgBox k End Sub

Agora execute o código e veja o que obtemos.

Mais uma especialidade desse tipo de dado decimal é que podemos armazenar valores decimais de mais de 14 dígitos, ao contrário do tipo de dados Double, que pode conter apenas 14 casas decimais.

Agora vou inserir mais de 14 dígitos para a variável entre aspas duplas.

Código:

Sub CDEC_Exemplo () Dim k como variante k = CDec ("2.56989797976466769416958") MsgBox k End Sub
Nota: Insira o número com aspas duplas porque sem aspas após os 14 dígitos, ele continuará arredondando. Para inserir números entre aspas duplas.

Agora execute o código e veja o que obtemos.

Temos todos os números decimais inseridos entre aspas duplas.

Coisas para lembrar

  • CDEC significa “Converter em decimal”.
  • Aceita apenas o tipo de dados “Variante”.
  • Não há tipo de dados “Decimal”, mas usando a função CDEC, podemos converter para o tipo de dados decimal facilmente.
  • A especialidade é que ele pode conter casas decimais de “28” dígitos.

Artigos interessantes...