Notifications
Clear all

Erro 6 "Estouro"

5 Posts
3 Usuários
0 Reactions
1,076 Visualizações
(@koiote10)
Posts: 6
Active Member
Topic starter
 

Ola pessoal !

preciso da ajuda dos amigos. estou tendo problemas com o erro 6 estouro

Sub Gerar_estimativa()
'variaveis
Dim Lin As Byte
Dim UltLinha As Long
Dim Cont As Long
Dim UltimaLinha As Long
Dim TotalGeral As Long
Dim Regiao As String
Dim Uf As String
Dim MesoRegiao As String
Dim MicroRegiao As String
Dim Canal As String
Dim rep As Byte
Dim Keyacc01 As Double
Dim Keyacc02 As Double
Dim Keyacc03 As Double
Dim Keyacc04 As Double

'limpar células para novo resultado da consulta
Plan44.Activate
Plan44.Unprotect

'Otimizando o VBA - Interrompe o calculo automatico
Application.Calculation = xlCalculationManual
'Application.ScreenUpdating = False 'desabilita atualização de tela

'retirar BORDAS

'Range("A7:XFD1048576").activate
'Selection.Borders(xlDiagonalDown).LineStyle = xlNone
'Selection.Borders(xlDiagonalUp).LineStyle = xlNone
'Selection.Borders(xlEdgeLeft).LineStyle = xlNone
'Selection.Borders(xlEdgeTop).LineStyle = xlNone
'Selection.Borders(xlEdgeBottom).LineStyle = xlNone
'Selection.Borders(xlEdgeRight).LineStyle = xlNone
'Selection.Borders(xlInsideVertical).LineStyle = xlNone
'Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

Plan44.Range("A7:I4000").ClearContents

'intervalo da pesquisa
UltLinha = Plan18.Range("a65000").End(xlUp).Row

Range("C3").Activate

ActiveCell.FormulaR1C1 = "=IFERROR(INDEX(AUX!R2C25:R40C26,MATCH(R1C9,AUX!R2C25:R40C25,0),2),"""")"

Range("I5").Activate

ActiveCell.FormulaR1C1 = "=IF(AND(R1C2="""",R2C2="""",R1C9="""",R2C9=""""),SUM(AUX!R2C27:R6C27),IF(AND(R1C2<>"""",R2C2="""",R1C9="""",R2C9=""""),INDEX(META!R3C1:R3C14,MATCH(R1C2,META!R3C1:R3C14,0),14),IF(AND(R1C2>0,R2C2>0,R1C9="""",R2C9=""""),INDEX(META!R4C2:R5C14,MATCH(R2C2,META!R4C2:R5C2,0),13),IF(AND(R1C2>0,R2C2>0,R1C9>0,R2C9=""""),INDEX(META!R6C3:R50C14,MATCH(R1C9,META!R6C3:R50C3,0),12),0))))"

Regiao = Gera_Estimat.Range("B1")
Uf = Gera_Estimat.Range("B2")
MesoRegiao = Gera_Estimat.Range("B3")
MicroRegiao = Gera_Estimat.Range("B4")
Canal = "HAVAIANAS/ESPORTIVOS"
rep = Gera_Estimat.Range("O4")
Keyacc01 = "KA - Alfa"
Keyacc02 = "KA - Beta"
Keyacc03 = "KA - Gama"
Keyacc04 = "KA - Delta"

já fiz todo tipo de alteração nas variaveis (em negrito), onde o erro ocorre, e nao consegui resolver.. conto com a ajuda dos amigos

 
Postado : 27/03/2018 7:12 pm
(@klarc28)
Posts: 971
Prominent Member
 

Essas variáveis em negrito devem ser declaradas como Strings, já que recebem letras. Double só serve para números.
Se o erro persistir, tente trocar de Byte para Long ou Double.

Tipos de variáveis

Para declarar uma variável no início de cada procedimento, deve-
se defi nir o tipo de variável, escrito apenas com letras maiúscu-
las. Existem, essencialmente, quatro tipos principais de variáveis:
String, Double, Date e Variante. É importante frisar que elas podem
conter diversas outras variáveis especializadas.

String
Para conjuntos com até 65.000 caracteres (texto). Utiliza-se esse
tipo de variável para conjuntos de caracteres, incluindo a defi nição
de repositórios locais (C:. D:) ou de rede (192.168.1.20, josejoa-
quim), nomes de arquivos (gastos.xls), endereços de células ($A$1$)
e todos os elementos de texto ou sobre os quais não efetuaremos
cálculo. É o equivalente VBA das strings que defi nem as proprieda-

des das células de uma planilha do Excel: não é possível fazer cál-
culos com células de texto, ao mesmo tempo em que não se pode
utilizar funções de texto em células numéricas.

Double
Variável aplicada em números com ou sem casas decimais. Double
é uma variável genérica, capaz de comportar muitas outras variáveis
especializadas, que serão vistas adiante.

Bytes
As variáveis Byte são armazenadas como números de 8 bits
(1 byte), sem sinal, únicos, e que variam, em valor, de 0 a 255. O tipo
de variável Byte é útil para conter dados binários (0 e 1).

Integer
As variáveis do tipo Integer são armazenadas como números
de 16 bits (2 bytes) com valor no intervalo de -32.768 a 32.767. O
caractere de declaração de tipo para Integer é o sinal de porcenta-
gem (%).
As variáveis Integer também podem ser usadas para representar
valores enumerados. Um valor enumerado pode guardar um conjun-
to fi nito de números inteiros exclusivos, cada um com um signifi ca-
do especial no contexto em que é usado. Valores enumerados ofere-
cem uma forma conveniente de seleção entre um número conhecido
de opções em um formulário. Por exemplo, preto = 0, branco = 1
e assim por diante. Pode-se defi nir constantes mediante a instrução
CONST para cada valor enumerado.

Long
As variáveis do tipo Long (inteiro longo) são armazenadas como nú-
meros de 32 bits (4 bytes) sinalizados, no intervalo de -2.147.483.648
a 2.147.483.647. O caractere de declaração de tipo para Long é o “e
comercial” (&).

Single
As variáveis do tipo Single (vírgula fl utuante de precisão simples)
são armazenadas como números de vírgula fl utuante com 32 bits
(4 bytes) e têm um valor no intervalo de -3,402823E38 a -1,401298E-
45 para valores negativos e de 1,401298E-45 a 3,402823E38 para
valores positivos. O caractere de declaração de tipo para Single

é o ponto de exclamação (!). Single é a última das strings usadas
para representar valores numéricos armazenados dentro da variá-
vel Double.

Date
Variável utilizada para a declaração de datas. As variáveis Date
são armazenadas como números de ponto fl utuante de 64 bits (8
bytes) responsáveis por representar as datas que variam de 1 de
janeiro do ano 100 a 31 de dezembro de 9999, abrangendo, também,
as horas de 0:00:00 a 23:59:59, segundo o modelo internacional de
24 horas.
Qualquer valor reconhecível e literal de data (não representado
de maneira exclusivamente numérica) pode ser atribuído a variáveis
Date. Os literais Date devem estar entre sinais (#), por exemplo, #1
de janeiro de 1993# ou #1 jan 93#.
As variáveis Date exibem as datas de acordo com o formato
reconhecido por seu computador, assim como as horas (12 ou 24
horas). Para mais informações sobre como operar a confi guração
de data e hora, leia o tópico Confi gurações de data e hora, nesse
mesmo capítulo.
As datas manipuladas pela variável estão localizadas, normalmen-
te, nas células das planilhas. É possível, portanto, copiar o conteúdo
das células para o interior da variável Date sem prejuízo nenhum no
desenrolar do código.

Variant
A variável Variant é utilizada para todas as variáveis não explici-
tamente declaradas como de algum outro tipo (usando instruções
como Dim, Private, Public ou Static). O tipo de dados Variant não
possui caractere de declaração.
Uma Variant é um tipo especial de variável que pode guardar
qualquer dado, exceto dados String de comprimento fi xo. Uma
Variant também pode conter os valores especiais Empty, Error,
Nothing e Null. É possível determinar ainda como os dados em uma
Variant são tratados mediante as funções VarType ou TypeName.
Os seus dados numéricos podem ser qualquer valor de número in-
teiro ou real no intervalo de -1,797693134862315E308 a -4,94066E-324
para valores negativos e de 4,94066E-324 a 1,797693134862315E308
para valores positivos. Geralmente, os dados numéricos Variant
são mantidos em seu tipo original no interior da variável.

A Variant pode ser utilizada em códigos que guardam uma gran-
de quantidade de cálculos a serem processados, pois essa variável é
capaz de trabalhar com mais de 4.000 cálculos por vez.

 
Postado : 27/03/2018 7:55 pm
(@koiote10)
Posts: 6
Active Member
Topic starter
 

klarc28, obrigado pela resposta.. na verdade eu já havia usado como string. e como eu disse anteriormente, testei todas as possibilidades de variáveis(string,variant,double,etc) e o erro persiste.

voce ou os demais colegas teriam alguma outra sugestao ?

 
Postado : 28/03/2018 7:38 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

koiote10 bom dia!

Essas variáveis em negrito devem ser declaradas como Strings, já que recebem letras.

Fazendo como o colega Klark28 disse dá certo sim. Testei aqui e foi até o final sem mensagem de erro.

...na verdade eu já havia usado como string. e como eu disse anteriormente, testei todas as possibilidades de variáveis(string,variant,double,etc) e o erro persiste.

Acho que então só analisando seu arquivo para descobrir se há algo a mais, pois no teste que fiz desse fragmento de código passou.

 
Postado : 28/03/2018 8:18 am
(@koiote10)
Posts: 6
Active Member
Topic starter
 

EdsonBr, bom dia !

testei aqui tambem e passou com a string. mas quando coloco em meu projeto o erro persiste.. devo enviar todo o codigo ? por onde ? a planilha é mega pesada

 
Postado : 28/03/2018 8:50 am