Notifications
Clear all

Como "resumir" o código VBA

3 Posts
3 Usuários
0 Reactions
1,246 Visualizações
(@marianapd)
Posts: 48
Eminent Member
Topic starter
 

Pessoal, bom dia!

Não sei se existe um termo correto, mas eu gostaria de saber como "otimizar" o codigo abaixo, pois a minha planilha tinha 400k, quando inclui a macro com esse codigo ela foi pra 20MB! Queria otimizar o codigo para ver se consigo reduzir a memoria ocupada!
Quando digo otimizar, eu pergunto se consigo fazer o exemplo abaixo com o codigo que vou deixar no final da mensagem

Como era
Worksheets("Plan1").Select
Variável = Range("A1").Value

Como ficou:
Variável = Worksheets("Plan1").Range("A1").Value

O MEU CODIGO (ele seleciona uma coluna enquanto houver celular preenchidas, copia e cola em uma coluna em outra sheet.)
Sheets("minha_aba").Select
Range("F3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("aba de destino").Select
Range("B11").Select
ActiveSheet.Paste

Eu tentei reduzir ele, mas ele so esta copiando a primeira linha, quando na verdade na minha coluna tem dados preenchidos em outras linhas (e a quantidade de celulas preenchidas sempre varia).

Obrigada!

 
Postado : 26/07/2017 8:24 am
leandroxtr
(@leandroxtr)
Posts: 447
Reputable Member
 

Tente:

Dim wsheet As Worksheet
Dim ws As Worksheet
Dim CountLin As Long

Set wsheet = Sheets("minha_aba")
Set ws = Sheets("aba de destino")
CountLin = wsheet.Range("F1048576").End(xlUp).Row

wsheet.Select
wsheet.Range("F3").Select
wsheet.Range("F3:F" & CountLin).Select
Selection.Copy
ws.Select
ws.Range("B11").Select
ActiveSheet.Paste

O código visivelmente ficou maior, mas quando faz-se declarações de variáveis, o EXCEL/VBA fica otimizado, pois ao saber o tipo de dimensão para o caso (declarada), a rotina roda mais "leve" e consequentemente a planilha mais pequena (em kbts/MB/GB).

Tente aí e dê um FeedBack.

Abraços!

Se te ajudou, não se esqueça de dar um like na resposta e marcar o tópico como finalizado.

Abraços!
Leandro Cordeiro

 
Postado : 26/07/2017 8:42 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Esse é um trabalho pra mim! rs
Minha palestra no Enaprod será exatamente sobre pastas de trabalho que tem seu tamanho alterado absurdamente desse jeito...

inclusive, Dê uma olhada aqui:
viewtopic.php?t=8862

Agora vou analisar seu código!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/07/2017 8:43 am