VBA OverFlow Error - Como corrigi-los Erro de estouro de tempo de execução 6?

Erro de fluxo excessivo de VBA do Excel

Os erros são parte integrante de qualquer linguagem de codificação, mas descobrir por que esse erro está ocorrendo é o que faz você se destacar da multidão nas entrevistas. Os erros não são estranhos à codificação VBA. Os erros não são intencionais, portanto, 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 completamente 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.

Dim Number As 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 do 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. Por exemplo, observe 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, ou temos que mudar o tipo de dados, ou temos que 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. Por exemplo, observe o código abaixo.

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 esse 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 de Excel de erro de estouro de VBA aqui - Modelo de Excel de erro de estouro de VBA

Artigos interessantes...