Estouro em propriedade Range
Enviado: 19 Jun 2017 às 23:06
Olá galera do guru do excel, boa noite!
Apresento-lhes mais um problema que estou tendo ao desenvolver minhas macros, se puderem me ajudar nessa ficarei muito satisfeito,seguinte:
1- tenho um gerador de relatórios, que a partir de um CNPJ me traz algumas informações de uma planilha base.
2- Ao executar o laço principal, informando a ultima linha e a primeira pós cabeçalho, faço as respectivas comparações e atribuo a planilha "relatório" os dados validados a partir da minha busca, ou seja, do meu CNPJ.
3- Na minha planilha base existem diversas colunas, porém na minha planilha relatório também. Estou utilizando o método de atribuição de range = range para obter os dados, porém ao executar, erro de estouro de memoria me é informado.
4- De forma resumida meu código se baseia nas seguintes caracteristicas:
Apresento-lhes mais um problema que estou tendo ao desenvolver minhas macros, se puderem me ajudar nessa ficarei muito satisfeito,seguinte:
1- tenho um gerador de relatórios, que a partir de um CNPJ me traz algumas informações de uma planilha base.
2- Ao executar o laço principal, informando a ultima linha e a primeira pós cabeçalho, faço as respectivas comparações e atribuo a planilha "relatório" os dados validados a partir da minha busca, ou seja, do meu CNPJ.
3- Na minha planilha base existem diversas colunas, porém na minha planilha relatório também. Estou utilizando o método de atribuição de range = range para obter os dados, porém ao executar, erro de estouro de memoria me é informado.
4- De forma resumida meu código se baseia nas seguintes caracteristicas:
Código: Selecionar todos
Queria saber se existe algum outro método mais limpo ou mais dinâmico de fazer as devidas copias, já tentei limpar as variáveis a cada interação mas não consegui. Imagino que minha duvida sera de grande valia pra quem ta começando também. Obrigado e aguardo ajuda, vlwssSub exmp()
Dim wsBase As Worksheet
Dim wsRel As Worksheet
Dim uLinBase As Long
Dim linRel As Long
Set wsBase = Sheets("base")
Set wsRel = Sheets("relatorio")
linRel = 2
For i = 2 To uLin
If cnpj = wsBase("B" & i).Value Then
wsRel.Range("A" & linRel).Value = wsBase.Range("D" & i).Value
'Aqui eu faço todas as sequencias de atribuições caso a condição if seja satisfeita
'Para não pesar o tópico do forum, eu resolvi resumir a forma ao qual salvando esses valores na planilha relatorio
'São mais ou menos 43 atribuições da planilha base para a planilha relatório
' Já tentei o método Cells porém obtive o mesmo erro
'Se tiver algum erro de programação nesse exemplo, desconsiderem, é apenas um esboço.
linRel = linRel + 1
End If
Next i
End Sub