Ir ao conteúdo
  • Cadastre-se
Highlander2010SP

Excel Comparar 2 Ranges - Erro 7: Out of Memory

Posts recomendados

Pessoal, estou tentando comparar se duas ranges são iguais, estão em guias diferentes, cada range de uma guia comparando com cada uma na outra, porém está dando erro 7: Out of Memory.

Sub verifica()

Dim ws, ws_Res As Worksheet
Dim c, s, igual, qty_res, cj As Integer
Set ws = ActiveWorkbook.Worksheets("estat")
Set ws_Res = ActiveWorkbook.Worksheets("Res")

Worksheets("estat").Activate

For s = 2 To 3000
For cj = 11 To 288010
igual = 0
For c = 2 To 9
If ws.Cells(cj, c) = ws_Res.Cells(s, c + 328).Value Then
igual = igual + 1
End If
Next c

If igual = 8 Then
ws.Range(cj & ":1").Value = ws.Range(cj & ":1").Value + 1
End If
Next cj
Next s

End Sub

Alguém saberia o q é preciso fazer para resolver?
Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Sugestão: deixe o seu código de lado e disponibilize uma amostra do seu arquivo Excel com as duas planilhas envolvidas na comparação, com alguns dados em ambas as planilhas (máximo de 15 a 20 linhas cada) e descreva com exatidão como você quer que a comparação seja feita. Coloque exemplos.

Informe também o que você deseja fazer após concluir a comparação.

Coloque todas as explicações nas próprias planilhas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite, @Highlander2010SP

 

O erro de estouro de memória ocorre porque você declarou a variável cj como Integer, mas no loop For-Next você quer atribuir a ela valores até 288.010 bem acima do limite desse tipo de variável, que vai de -32.768 a 32.767. Declare ela como Long ao invés disso.

 

Só uma observação: no VBA, quando você declara isso...

 

Dim c, s, igual, qty_res, cj As Integer

 

...somente cj fica de fato sendo um Integer. As outras 5 variáveis ficam como Variant. Para que todas sejam Integer, teria que declarar uma a uma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!