O que é o Excel VBA CDBL?

CDBL é uma função VBA usada para converter as expressões em um tipo de dados duplo. O VBA consiste em várias funções de conversão de dados. Isso ajuda a alterar o tipo de dados de uma variável ou valor de um para outro. Em cálculos diferentes, a conversão é um processo necessário para obter o resultado adequado. CDBL é uma das funções de conversão de dados incluídas nas funções de conversão de tipo no VBA. CDBL significa 'Converter para dobrar'. Ao processar dados, você pode encontrar situações para alterar o número inteiro para o dobro. Para imprimir o resultado exato, esta função irá ajudá-lo. A função VBA CDBL aceita apenas números. Qualquer expressão além dos números produzirá um erro de incompatibilidade de tipo.

Formato da função CDBL no Excel VBA

CDBL é uma função simples que requer uma única expressão para operar no VBA. A expressão deve ser um número.

  • Expressão: é o número que você deseja converter em número flutuante.

Se a expressão estiver diferente de um número, a função retornará um erro de incompatibilidade. Veja o exemplo abaixo, onde uma expressão não numérica é passada para a função CDBL e produziu uma incompatibilidade de tipo de erro.

Uso da função CDBL no VBA

Vamos verificar como a função VBA CDBL nos ajuda no processamento de dados. Para obter uma visão clara e entender o uso prático de alterar o tipo de dados, veja o exemplo abaixo. Você pode ver a diferença de acordo com o tipo de dados usado na mesma variável.

  • Declare uma variável como tipo de dados inteiro e atribua um valor flutuante a ela. Ao imprimir o valor, veja como ele irá mostrar o valor.

Código:

 Private Sub addconvert () Dim b Como Inteiro Final Sub 

  • Um valor flutuante é atribuído à variável inteira declarada. 785.456923785475 é atribuído à variável b, que é uma variável inteira.

Código:

 Private Sub addconvert () Dim b Como Inteiro b = 785.456923785475 End Sub 

  • Usando uma caixa de mensagem, imprima o valor atribuído.

Código:

 Private Sub addconvert () Dim b Como Inteiro b = 785.456923785475 MsgBox b End Sub 

Veja como os resultados mostram diferença ao imprimir o valor.

Você atribuiu um número com valores flutuantes, mas a saída mostra apenas a parte inteira do número fornecido. Aqui a variável 'b' é declarada como número inteiro, para que não aceite um valor flutuante. A parte inteira do valor decimal é obtida e a parte decimal é evitada. Como a variável é declarada como um número inteiro, o número será arredondado para o número inteiro mais próximo.

Para imprimir os dados como estão, alterando o tipo de dado variável para double Em vez do tipo de dados inteiro.

  • Ao fazer uma alteração simples no mesmo código, você pode imprimir o número fornecido. Declare a variável como um tipo de dados duplo.

Código:

 Private Sub addconvert () Dim b Como Double End Sub 

  • Um número como duplo é atribuído à variável dupla declarada. 785.456923785475 é atribuído à variável b, que é dupla no tipo de dados.

Código:

 Private Sub addconvert () Dim b As Double b = 785.456923785475 End Sub 

  • Usando uma caixa de mensagem, imprima o valor atribuído.

Código:

 Private Sub addconvert () Dim b As Double b = 785.456923785475 MsgBox b End Sub 

Veja como os resultados mostram diferença ao imprimir o valor. Você atribuiu um número com valores flutuantes.

Compare as duas saídas, você pode ver a diferença. Mesmo os dados e a variável são os mesmos, a mudança no tipo de dados mudou toda a saída. A partir disso, você obterá a importância do tipo de dados e como ele influencia todo o programa. Esse é o motivo do uso de um tipo diferente de funções de conversão com o VBA.

Exemplos de função CDBL no Excel VBA

Abaixo estão os diferentes exemplos de conversão de VBA para o dobro.

Você pode fazer o download deste modelo VBA CDBL Excel aqui - Modelo VBA CDBL Excel

Exemplo # 1: Converter o tipo de dados da string para o dobro

Vamos ver o desempenho da conversão de dados e quais são as alterações que você pode fazer com a ajuda das funções de conversão de dados. A sequência é um tipo de dados que aceita todos os tipos de dados. Uma variável é definida como uma sequência e atribui um número a ela.

  • Use uma função privada para verificar as alterações em diferentes tipos de dados, crie uma função convertida em particular e declare a variável 'a' como uma string.

Código:

 Private Sub convert () Dim a As String End Sub 

  • Para realizar a conversão, você precisa de uma variável. Como a variável está convertendo em tipo de dados duplo, declare-a como um tipo de dados duplo. Após a conversão dos dados, o valor será atribuído a essa variável.

Código:

 Privado Sub convert () Dim a As String Dim convert As Double End Sub 

  • Atribua um número flutuante 1234.5645879 à variável de sequência. O tipo de dados da sequência aceitará os números com valores flutuantes.

Código:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 End Sub 

  • Agora use a função VBA CDBL para converter o valor para o dobro. Você pode usar a variável 'convert' que é declarada como um tipo de dados duplo. Passe a variável 'a' como uma expressão para a função CDBL.

Código:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 convert = CDbl (a) End Sub 

  • Para visualizar o valor de saída, você pode imprimir usando uma caixa de mensagem.

Código:

 Private Sub convert () Dim a As String Dim convert As Double a = 1234.5645879 convert = CDbl (a) MsgBox converter End Sub 

  • Execute esse código pressionando F5 diretamente ou manualmente, pressionando o botão Executar no painel superior esquerdo.

  • O valor atribuído à variável 'a' será impresso da mesma forma com pontos flutuantes e um valor inteiro. O valor é convertido em tipo de dados duplo e o mesmo é impresso como abaixo.

Exemplo # 2 - Convertendo e adicionando dois números

Você tem duas variáveis ​​para adicionar e encontrar a soma como parte do seu cálculo. Ambos são números flutuantes com valores decimais. Mas uma variável é declarada como inteiro e outra como dupla.

  • Crie uma função add para encontrar a soma de dois números. Duas variáveis ​​A1 e A2 são declaradas como inteiro e duplo, respectivamente.

Código:

 Private Sub add () Dim A1 Como Inteiro Dim A2 Como Double End Sub 

  • Atribua os dois números às respectivas variáveis. Ambos são dois números flutuantes com valores decimais.

Código:

 Private Sub add () Dim A1 Como Inteiro Dim A2 Como Duplo A1 = 1256.45 A2 = 1234.58 End Sub 

  • Declare uma terceira soma variável como tipo de dados duplo, pois o resultado será um valor duplo.

Código:

 Private Sub add () Dim A1 Como Inteiro Dim A2 Como Duplo Dim sum Como Duplo A1 = 1256.45 A2 = 1234.58 End Sub 

  • Adicione os dois números fornecidos e coloque o resultado na variável sum.

Código:

 Private Sub add () Dim A1 Como Inteiro Dim A2 Como Duplo Dim sum Como Duplo A1 = 1256.45 A2 = 1234.58 soma = A1 + A2 End Sub 

  • Usar uma caixa de mensagem permite imprimir a saída.

Código:

 Private Sub add () Dim A1 Como Inteiro Dim A2 Como Double Dim sum Como Double A1 = 1256.45 A2 = 1234.58 sum = A1 + A2 MsgBox sum End Sub 

  • Execute esse código pressionando F5 diretamente ou manualmente, pressionando o botão Executar no painel superior esquerdo.

O resultado esperado é 2491.03 e, ao verificar a saída, você pode ver alguma diferença no resultado. A incompatibilidade no resultado ocorreu devido ao valor obtido pela variável A1. Como essa é uma variável inteira, ela não aceitará a parte decimal do número, apenas a parte inteira é obtida durante o processamento da soma.

  • Para evitar isso, converta o número A1 em dobro e atribua o número convertido a outra variável A3.

Código:

 Private Sub add () Dim A1 Como Inteiro Dim A2 Como Duplo Dim sum Como Duplo A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) soma = A1 + A2 MsgBox sum End Sub 

  • Agora adicione a variável convertida com A2 em vez de A1. Como o número é convertido em um tipo de dados duplo, o valor com números flutuantes será aceito e adicionado com A2.

Código:

 Private Sub add () Dim A1 Como Inteiro Dim A2 Como Duplo Dim sum Como Duplo A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) soma = A2 + A3 MsgBox sum End Sub 

  • Execute esse código pressionando F5 diretamente ou manualmente, pressionando o botão Executar no painel superior esquerdo.

O valor da soma foi corrigido e produziu o resultado esperado.

Coisas para lembrar

  • A função VBA CDBL não aceitará valores, e não um número.
  • Um erro de incompatibilidade de tipo será produzido se um valor de texto for fornecido para a função VBA CDBL.
  • O tipo de dados duplo exibe valores decimais de 13 dígitos.
  • A função VBA CDBL ajuda a obter um resultado adequado ao processar os números no Excel.

Artigos recomendados

Este é um guia para a função VBA CDBL. Aqui discutimos como usar a função VBA CDBL para converter o valor em Tipo de dados duplo no Excel, juntamente com alguns exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Comentário do bloco VBA
  2. Função SUMPRODUCT no Excel
  3. Intervalo Nomeado VBA
  4. Função COMBIN no Excel

Categoria: