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