Ir ao conteúdo
  • Cadastre-se

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.

Link para o comentário
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.

Link para o comentário
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.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!