Erro VBA OverFlow

Erro de fluxo excessivo de VBA do Excel

Erros são parte integrante de qualquer linguagem de codificação, mas descobrir por que esse erro está ocorrendo é o que o diferencia da multidão nas entrevistas. Os erros não são estranhos à codificação VBA, os erros não são intencionais, por isso encontrar a causa do erro torna a tarefa difícil. No VBA, temos alguns dos erros predefinidos e sabê-los faz com que você conserte o bug muito rapidamente. Neste artigo, mostraremos a você sobre o RUN TIME ERROR 6: OverFlow. Siga o artigo completo para saber sobre o erro, os motivos do erro de estouro do VBA e como corrigi-los.

O que é Run Time Error 6: Overflow Error no VBA?

Quando declaramos a variável, atribuímos um tipo de dados a eles. Devemos estar totalmente cientes dos prós e contras de cada tipo de dados. É aqui que entra em cena o Run Time Error 6: OverFlow. Quando sobrecarregamos o tipo de dados com o valor que é maior do que a capacidade do tipo de dados, obteremos esse erro.

Por exemplo: Se você declarar a variável como Byte.

Número Dim como Byte

O tipo de dados byte pode conter valores de 0 a 255. Agora irei atribuir o valor como 240.

Número = 240

Isso deve funcionar bem porque o valor que atribuímos é menor que o limite do valor do Byte de 255. No momento em que atribuímos o valor que é maior que 255, isso leva ao erro de Run Time Error 6: OverFlow.

Esta é a visão geral do Run Time Error 6: OverFlow. Veremos alguns dos exemplos em detalhes.

Exemplos de erro de tempo de execução 6: OverFlow em VBA

Vamos ver alguns exemplos de erro de overFlow de VBA no Excel.

Exemplo 1: Erro de overFlow com tipo de dados de byte

Como eu disse, é importante saber os prós e os contras do tipo de dados VBA que vamos usar. Para obter um exemplo, veja o código abaixo.

Código:

 Sub OverFlowError_Example1 () Dim Number As Byte Number = 256 MsgBox Number End Sub 

Para a variável “Número”, atribuí o valor de 256. Quando eu executar este código, obteremos o erro abaixo.

Isso ocorre porque o tipo de dados Byte pode conter valores de 0 a 255. Portanto, ele causa um erro. Para corrigir o erro, devemos alterar o tipo de dados ou reduzir o valor que atribuímos à variável “Número”.

Exemplo 2: Erro de overFlow VBA com tipo de dados inteiro

O inteiro VBA é um tipo de dados que pode conter valores de -32768 a 32767. Para obter um exemplo, veja o código a seguir.

Código:

 Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 25656 MsgBox MyValue End Sub 

Quando eu executar este código, obteremos o valor da variável “MyValue” na caixa de mensagem, ou seja, 25656.

Agora vou reatribuir o número à variável como “45654”.

Código:

 Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 45654 MsgBox MyValue End Sub 

Agora, se eu tentar executar o código, ele causará um erro porque o tipo de dados que declaramos só pode conter o máximo de 32.767 para números positivos e para números negativos o limite é -32768.

Exemplo 3: Erro de OverFlow VBA com tipo de dados longos

O tipo de dados longos é o tipo de dados usado com mais frequência no Excel VBA. Isso pode conter valores de –2.147.483.648 a 2.147.486.647. Qualquer coisa acima disso causará um erro.

Código:

 Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = 5000 * 457 MsgBox MyValue End Sub 

Isso causará um erro de estouro.

Para corrigir esse problema, precisamos usar a função CLNG no VBA. Abaixo está um exemplo do mesmo.

Código:

 Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = CLng (5000) * 457 MsgBox MyValue End Sub 

Isso deve funcionar bem.

Esta é a visão geral do Run Time Error 6: OverFlow . Para resolver este erro, precisamos estar completamente cientes dos tipos de dados. Então volte ao básico, faça o básico certo, então tudo vai se encaixar.

Você pode baixar este modelo do Excel de erro de estouro de VBA aqui - Modelo de Excel de erro de estouro de VBA